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

Posted

技术标签:

【中文标题】需要来自 gulpfile.js 中的相对路径的 node_modules【英文标题】:Require node_modules from a relative path in gulpfile.js 【发布时间】:2018-06-27 23:13:57 【问题描述】:

当我将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 抛出错误; ^

错误:找不到模块'../../gulp'

我做错了什么?

【问题讨论】:

***.com/questions/26293049/… 【参考方案1】:

尝试在没有路径的情况下调用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

【讨论】:

呃!啊!哦!!想知道为什么我没有先尝试!谢谢!现在工作正常!

以上是关于需要来自 gulpfile.js 中的相对路径的 node_modules的主要内容,如果未能解决你的问题,请参考以下文章

如何调试 gulpfile.js

SyntaxError:Gulpfile.js 中的意外标记

使用 package.json 依赖项作为 gulpfile.js 中的文件夹结构

glup简单应用---gulpfile.js

启动 hexo 在 gulpfile.js 中生成手表?

java里绝对路径和相对路径的区别是啥?