如何使用节点模块?
tldr;如何查看已安装的节点模块,以及如何知道要安装的节点模块以及要查找的节点模块
例如,如果我使用npm i googleapis
,它会下载Googles API的节点模块,但是我如何浏览该模块并找出对我有用的内容呢?为了消除问题中的任何歧义,我将使用此用例。
我正在开发一个Discord机器人,我想在其中一个命令中添加统计信息。下面是Google提供的代码:
<script src="https://apis.google.com/js/api.js"></script>
<script>
/**
* Sample JavaScript code for youtube.channels.list
* See instructions for running APIs Explorer code samples locally:
* https://developers.google.com/explorer-help/code-samples#javascript
*/
function authenticate() {
return gapi.auth2.getAuthInstance()
.signIn({scope: "https://www.googleapis.com/auth/youtube.readonly"})
.then(function() { console.log("Sign-in successful"); },
function(err) { console.error("Error signing in", err); });
}
function loadClient() {
gapi.client.setApiKey("YOUR_API_KEY");
return gapi.client.load("https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest")
.then(function() { console.log("GAPI client loaded for API"); },
function(err) { console.error("Error loading GAPI client for API", err); });
}
// Make sure the client is loaded and sign-in is complete before calling this method.
function execute() {
return gapi.client.youtube.channels.list({
"part": [
"snippet,contentDetails,statistics"
],
"id": [
"UC_x5XG1OV2P6uZZ5FSM9Ttw"
]
})
.then(function(response) {
// Handle the results here (response.result has the parsed body).
console.log("Response", response);
},
function(err) { console.error("Execute error", err); });
}
gapi.load("client:auth2", function() {
gapi.auth2.init({client_id: "YOUR_CLIENT_ID"});
});
</script>
<button onclick="authenticate().then(loadClient)">authorize and load</button>
<button onclick="execute()">execute</button>
现在Google提供了一个受支持的库,这意味着我可以替换外部脚本标记,并从节点包导入,特别是我需要的部分。
因此,我需要导入或请求任何允许我访问的内容,例如:gapi.auth2.getAuthInstance
个gapi.client.setApiKey
gapi.client.youtube.channels.list
对于刚接触nodejs的人来说,我如何轻松地查看节点包并找到我需要和可以使用的东西,而不是从每一个文档中复制和粘贴并希望它能工作呢?
编辑1
我认为我对google apis案例的使用偏离了问题的方向,改变了我所问问题的范围,所以我会尽我所能纠正。
应该假设软件包上没有文档,不管它是写得很差,根本不存在,还是在时间敏感的开发过程中文档被关闭了很长一段时间。
在这一点上,是否有任何可能的方法来查看node_modules文件夹,需要处理的特定包,并找出发生了什么?是否有任何方法来查看包的结构,并认识到“嗯,最有可能我需要的是在这个文件夹或文件中”
1条答案
按热度按时间qhhrdooz1#
这就是文档的作用。当有人为一个包编写API时;为了让消费者更清楚地了解情况,他应该充分地记录导出的函数。
获取节点程序包文档的最佳方法是在www.npmjs.com中搜索该程序包。
对于google api,你可以到here页面去看“入门”和一些例子,你也可以到here去看这个包的完整详细的api。
回答编辑#1
好吧,在这种情况下,这可能是一个困难的任务,取决于如何结构和组织的包。
由于我们讨论的是nodejs,因此您应该查找
package.json
文件,并搜索主文件"main": "<PATH HERE>"
的路径。然后,您可以转到该主文件,并尝试找到导出的确切内容。您可以搜索
module.exports
或export
关键字。显式导出的所有内容都旨在用作API。
我不熟悉任何其他方法,除了深入包的文件,并确定究竟是什么正在导出。