节点module.paths混淆
问题:尽管我在我的module.paths应用程序中将全局路径添加到数组中,但所需的节点模块不使用我的全局main.js。
示例:
mymain.js
//global modules path
module.paths.push('C:\Users\xuser\AppData\Roaming\npm');
// finds ws in global modules path. Works!
wsmain=require('ws')
// Now load a 3rd party module, which also requires('ws')
C = require('cmod.js');cmod.js
ws=require('ws'); // fails to find global path问:我如何确保模块全局也传递给需求模块。有办法把它作为参数传递吗?
发布于 2015-08-14 13:14:09
我不确定是否有一条“全球”之路。node.js文档建议,相对于所需的文件,会发生默认的require,并在目录链上搜索node_modules目录。来自文档
例如,如果位于‘/home/ry/project/foo.js’的文件被称为require('bar.js'),那么节点将按照以下顺序查找以下位置:
看起来,您可以使用NODE_PATH env提供一个查找模块的位置列表:
根据这些文件,以下内容可能有效:
NODE_PATH=/path/to/node_modules/where/ws/lives node mymain.js
https://stackoverflow.com/questions/32010712
复制相似问题