Node.js 是一个非常流行的后端 JavaScript 应用程序开发平台,它的生态系统非常丰富,有许多优秀的 npm 包可供使用,使得开发者可以轻松构建安全可靠且高性能的 Web 应用程序。本文将介绍一个非常实用的 npm 包 node-envato,它用于快速访问 Envato API,方便开发者获取 Envato Market 所提供的数据。
Node-envato 简介
Node-envato 是一个适用于 Node.js 的 npm 包,它提供了一个简单易用的 API,方便开发者访问 Envato Market 上的数据,包括 ThemeForest、CodeCanyon、GraphicRiver、AudioJungle、VideoHive、PhotoDune、3DOcean 和 ActiveDen 等平台的数据。使用 node-envato 我们可以很容易地获取到各平台所提供的项目、评论、关联商品、作者、销售数据等内容。
安装 Node-envato
安装 Node-envato 非常简单,只需在命令行中执行:
npm install node-envato --save
使用 Node-envato
在使用 Node-envato 时,我们需要设置获取数据的账号信息以及相关参数,下面将为大家介绍常用的几个方法。
初始化 Node-envato
使用 Node-envato 的第一步是初始化它,只需要在代码中添加以下语句:
const Envato = require('node-envato'); const envato = new Envato({ username: '<your-username>', token: '<your-token>' });
其中,username
参数是你在 Envato Market 上的用户名,token
参数是你的 API 访问令牌,你可以在 Envato Market API 页面注册一个账号并创建一个 Personal Token。
获取项目信息
获取项目信息是 Node-envato 最基本的功能之一,使用 getItem
方法可以获取指定项目的详细信息,方法返回的是 Promise。以下是一个示例代码:
envato.getItem({id: 123}) .then(res => { console.log(res); }) .catch(err => { console.log('Error:' + err); });
其中,getItem
方法的参数 id
是项目在 Envato Market 上的 ID。当调用该方法时,会返回一个 Promise,你可以通过 .then
和 .catch
分别处理响应和错误。
获取搜索结果
Node-envato 还提供了获取搜索结果的方法 search
,可以根据关键字搜索项目,以及按价格、销售数量等条件排序。以下是一个示例代码:
-- -------------------- ---- ------- --------------- ----- ------------ ----- ------------------ ------ --- -------- ------- -- --------- -- - ----------------- -- ---------- -- - -------------------- - ----- ---
其中,term
参数是搜索关键字,site
参数指定搜索平台,price
参数指定价格上限,sort_by
参数指定排序方式。调用该方法时也会返回一个 Promise,你可以通过 .then
和 .catch
分别处理响应和错误。
获取作者信息
Node-envato 还提供了获取作者信息的方法 getAuthor
,可以根据作者名字获取该作者的详细信息,包括总销售、评分、关注数等。以下是一个示例代码:
envato.getAuthor({username: 'envato'}) .then(res => { console.log(res); }) .catch(err => { console.log('Error:' + err); });
其中,getAuthor
方法的参数 username
是作者在 Envato Market 上的用户名。
结语
使用 Node-envato 我们可以轻松快捷地获取 Envato Market 提供的内容,本文简单介绍了如何安装和使用 Node-envato,希望对广大开发者有所帮助。如果你对 Node.js 后端技术感兴趣,可以在学习时利用 Node-envato 来快速开发更好的项目。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005541481e8991b448d16dc