簡體   English   中英

Node.js在npm模塊中使用單文件依賴

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM