3

尝试加载模块:grunt.loadNpmTasks('grunt-express-server');从外部目录。

得到一个错误:任务....不存在。你加载了吗?

目录结构:

client/
  node_modules
  gruntfile
dev_server/
  node_modules/
    grunt-express-server

所以我的问题是:如何使用存储在外部目录中的节点模块运行 grunt 任务?

4

1 回答 1

6

您需要使用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,请查看此问题

于 2015-05-11T19:56:37.770 回答