如何构建节点插件,以便只能按名称导入,而不能导入路径

时间:2016-10-14 03:04:48

标签: node.js node-gyp node.js-addon

当我通过创建标准 binding.gyp 并运行node-gyp build来构建节点加载项时,会在子目录build/{Release|Debug}/中创建addon.node库。当我编写测试或其他javascript代码来使用这个模块时,我必须给出库位置的显式路径

例如,

var addon = require('./build/Release/addon')

但是,我想通过仅指定模块名称并让节点模块搜索库来实现此目的

var addon = require('addon')

如何实现?

2 个答案:

答案 0 :(得分:0)

我认为唯一的方法是设置require()并将模块放在node_modules文件夹中,或将模块放在其中一个父目录的node_modules文件夹中。< / p>

Node使用require()方法,没有定义路径作为指示符来查找node_modules目录中的模块。除非它是一个原生模块。

详情请参阅文档here

答案 1 :(得分:0)

如果你对另一个依赖项没问题,那就有一个模块。

https://www.npmjs.com/package/bindings

这将自动搜索所有可能的构建输出位置,包括调试和发布目录。