需要 node_modules 来自 gulpfile.js 中的相对路径

Require node_modules from a relative path in gulpfile.js

当我将 node_modules 文件夹与 gulpfile.js.

放在同一个文件夹时,一切正常

但是每当我将 node_modules 放在它外面的任何地方时,我似乎无法通过使用相对路径使其工作:

var gulp = require('../../node_modules/gulp');
var rename = require('../../node_modules/gulp-rename');

我收到以下消息:

[20:11:45] Task 'default' is not in your gulpfile
[20:11:45] Please check the documentation for proper gulpfile formatting

但我实际上有一个 default 任务,它在不使用相对路径时按预期运行。

我也尝试在不指定 node_modules 文件夹的情况下包含它们,因为我认为它应该是:

var gulp = require('../../gulp');
var rename = require('../../gulp-rename');

但我收到以下错误:

module.js:538 throw err; ^

Error: Cannot find module '../../gulp'

我做错了什么?

尝试在没有路径的情况下调用 require,如下所示:

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

这会触发 require 搜索 node_modules 文件夹,自动检查每个父文件夹直至根目录。 https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders