[英]Node.js use single-file dependency in npm module
我有一個文件(可以使用C ++生成的.js或.node,但工作原理相同),可以通過調用在node.js中使用:
var addon = require("./addon");
它不是官方軟件包或其他任何東西; 它沒有package.json(我想保持這種方式)。
如果我在簡單的node.js應用程序中運行上述代碼,則可以正常工作,但是如何將其包含在node.js庫中? 例如:
exports.addon = require("./addon")
這似乎不起作用,我嘗試更改package.json:
"dependencies": {
"addon": "file:./addon.node",
}
但是當我用的時候
require("addon");
后來它說找不到。 [ 編輯 :在我運行npm publish
然后在另一個文件中運行npm -i mymodule
之后]
我想念什么嗎?
假設您正在編寫自己的庫,並希望在其中包含附加組件,那么我將構建一個像這樣的文件結構:
index.js
addon/cpp-generated.js
addon/other.js
...
然后從index.js您可以執行以下操作:
const cpp_generated = require('./addon/cpp-generated')
我只用了.js
擴展名。 您需要更改配置文件以允許新的擴展名(例如您提到的.node
。)
無需在package.json
提及文件即可正常工作。 如果您運行構建,則可能需要在此處進行構建,盡管無論如何,由於require()
語句應將其包含在內。
因此,除了擴展名(您的示例顯示.node
)外,您似乎做對了。
為了確保它被發布,我將其添加到文件列表中:
"files": [
"index.js",
"addon/cpp-generated.js",
...
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.