如何使用節點模塊?
tldr; 如何查看我已安裝的節點模塊并知道去哪里以及我在尋找什么
npm i googleapis例如,如果我使用它,它會下載谷歌 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>
現在谷歌提供了一個受支持的庫,這意味著我可以替換外部腳本標簽并從節點包中匯入,特別是我需要的部分。
所以我需要匯入或要求任何能讓我訪問以下內容的東西:
gapi.auth2.getAuthInstance
gapi.client.setApiKey
gapi.client.youtube.channels.list
對于剛接觸 nodejs 的人來說,與其從每個檔案中復制和粘貼并希望它能正常作業,不如我如何輕松地查看 node 包并找到我需要和可以使用的東西?
編輯#1
我認為我對 google apis 案例的使用偏離了問題的方向并改變了我所問的范圍,所以我將盡我所能糾正。
應該假設沒有關于包的檔案,無論它寫得這么差,根本不存在,或者檔案在時間敏感的開發程序中長時間關閉。
那時,是否有任何可能的方法來查看 node_modules 檔案夾,需要使用的特定包并弄清楚發生了什么?有沒有辦法查看包的結構并識別“很可能我需要的是這個檔案夾或檔案”
uj5u.com熱心網友回復:
這就是檔案的用途。當有人為包撰寫 API 時;為了讓消費者更清楚,他應該足夠好地記錄匯出的函式。
獲取節點包檔案的最佳方式是在www.npmjs.com搜索包。
對于 google apis,您可以在此處訪問該頁面以查看“入門”和一些示例。你可以去這里查看該包的完整詳細 API。
回答編輯#1
好吧,在那種情況下,這可能是一項艱巨的任務,取決于包的結構和組織方式。
由于我們在談論nodejs,您應該查找package.json檔案并搜索主檔案的路徑 "main": "<PATH HERE>"。
然后,您可以轉到該主檔案并嘗試找到正在匯出的確切內容。您可以搜索module.exports或export關鍵字。
明確匯出的所有內容都旨在用作 API。
除了深入研究包的檔案并確定正在匯出的內容之外,我不熟悉任何其他方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/528161.html
標籤:节点.jsnpm
