如果在gulpfile.js以外的其他文件夹中安装了gulp(node_modules),如何运行gulp

我有一个目录中的gulpfile.js和另一个目录中的node_modules。 当我运行gulp,我得到错误 – '本地gulp未find'(目录)..尝试运行:npm install gulp'

问题是 – 我不能在gulpfile.js目录中安装gulp,所以我需要一种方法来告诉gulp参考其他目录,我已经安装了gulp。

如果你不想要,你不需要在世界范围内安装gulp。 你可以做的是运行你的gulp可执行文件(从你的node_modules),然后使用–gulpfile参数传入你的gulp文件的位置。 另外,如果你想控制你的吞咽方式,使用–cwd参数。

这是一个例子:

<NODE_MODULES DIR>/gulp/bin/gulp.js --gulpfile <GULP FILE> --cwd <SOME DIR> 

您需要全局安装gulp:

npm install -g gulp

这将允许你从任何目录的命令行运行gulp

没有必要全球安装gulp。 首先安装gulp(最好在dev依赖项上)

npm install gulp --save-dev

然后在package.json中添加要运行的行

"scripts" : { "gulp" : "gulp"} }

最后在命令行中使用

npm run gulp

npm将使用来自节点模块的二进制文件,而不需要全局安装或写下整个path

node_modules文件夹始终放在父目录中,然后将项目目录设置为子/孙文件夹。

不要将node_modules文件夹放在任何子目录中

文件夹结构将如下所示:

└──node_modules

└─project_1

└─project_2

在任何小孩/大孩子目录中, gulp都可以工作