在不使用相对路径的情况下引用本地commonjs模块的最佳实践是什么?
var custMod= require(‘customModule’);
custMod(true);
custMod.save(‘foo’);
是否有建立像这样的模块的参考?
如果我编写了如下所示的模块,则在调用custMode.save(12);
时获取未定义module.exports = customModule;function customModule(mode) {
var mode = 1;
return {
save: function (value) {
console.log(mode, value)
},
get: function (id) {
console.log(mode, id)
}
}
答案 0 :(得分:0)
我希望节点让这更容易说实话。一种可能性:
project_root
`--node_modules
|--npm-module-1
|--npm-module-2
|--... (etc)
`--lib
|--my-module.js
`--my-other-module.js
通过上述内容,您可以从项目的任何位置键入require('lib/my-module')
。 (只需确保并且永远不要安装名为lib
的npm模块:)另一种可能性:
project_root
|--node_modules
| |--npm-module-1
| |--npm-module-2
| `--... (etc)
`--lib
`--node_modules
|--my-module.js
`--my-other-module.js
通过上述内容,您可以输入require('my-module')
,但仅适用于project_root/lib/
下的所有文件。
前一种方法的一个优点是require('lib/my-module')
使得一目了然地告诉哪些模块是项目的本地模块非常容易。然而,后者输入的次数较少。