如果模块位于不同的目录中,如何在 gruntfile 中使用 loadNpmTask 加载任务
How to load a task using loadNpmTask in gruntfile if module is in different directory
正在尝试从外部目录加载模块:grunt.loadNpmTasks('grunt-express-server');
。
出现错误:任务....不存在。你加载了吗?
目录结构:
client/
node_modules
gruntfile
dev_server/
node_modules/
grunt-express-server
所以我的问题是:你如何使用存储在外部目录中的节点模块运行 g运行t-task?
您需要使用 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
正在尝试从外部目录加载模块:grunt.loadNpmTasks('grunt-express-server');
。
出现错误:任务....不存在。你加载了吗?
目录结构:
client/
node_modules
gruntfile
dev_server/
node_modules/
grunt-express-server
所以我的问题是:你如何使用存储在外部目录中的节点模块运行 g运行t-task?
您需要使用 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