尝试加载模块:grunt.loadNpmTasks('grunt-express-server');
从外部目录。
得到一个错误:任务....不存在。你加载了吗?
目录结构:
client/
node_modules
gruntfile
dev_server/
node_modules/
grunt-express-server
所以我的问题是:如何使用存储在外部目录中的节点模块运行 grunt 任务?
尝试加载模块: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
,请查看此问题