告诉npm在不同的目录中查找node_modules

时间:2015-03-18 20:50:26

标签: node.js npm gulp node-modules

npm在当前目录中查找node_modules,然后在其所有父目录中查找全局位置。我目前提出的目录结构是:

  • 全球
    • 的package.json
    • node_modules /
  • 项目-1
    • gulpfile.coffee
  • 项目-2-
    • gulpfile.coffee

但这不是npm通常寻找的地方。我可以设置一个环境变量来处理这个问题,或者我可以告诉它查看特定目录的方式吗?谢谢!

2 个答案:

答案 0 :(得分:1)

尝试以下方法在gulp中设置NODE_PATH。

.pipe(preprocess({context: { NODE_PATH: '$NODE_PATH:/path/to/other/dir'}}))

完整示例如下所示。

var preprocess = require('gulp-preprocess');

gulp.task('html', function() {
  gulp.src('./app/*.html')
    .pipe(preprocess({context: { NODE_PATH: '$NODE_PATH:/path/to/other/dir'}})) //To set environment variables in-line 
    .pipe(gulp.dest('./dist/'))
});

如果设置了上述2个示例,则会添加到节点路径中。如果您只想设置它,请执行以下操作。

.pipe(preprocess({context: { NODE_PATH: '/path/to/other/dir'}}))

答案 1 :(得分:0)

您可以设置NODE_PATH环境变量。