尝试从外部目录加载模块:grunt.loadNpmTasks('grunt-express-server');
。
得到一个错误:任务....不存在。你加载了吗?
目录结构:
client/
node_modules
gruntfile
dev_server/
node_modules/
grunt-express-server
所以我的问题是:如何使用存储在外部目录中的节点模块运行 grunt 任务?
最佳答案
您将需要使用 grunt.task.loadtasks将其指向您要加载任务的任务目录。
在你的情况下:
grunt.loadTasks('../dev_server/node_modules/grunt-express-server/tasks');
如果您在 github 上查看 grunt 的 master,在 task.js 的第 325 行它需要位于您作为参数传递的文件路径中的任务文件 (.../tasks/express.js)。
// Load taskfile.
fn = require(path.resolve(filepath))
编辑
如果您想知道是否可以将 grunt 的路径重新定位到 node_modules
,请查看此 question
关于javascript - 如果模块位于不同的目录中,如何在 gruntfile 中使用 loadNpmTask 加载任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30175742/