首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么grunt.loadNpmTask(‘grunt-contrib’)会在Sails.js中触发一个错误?

为什么grunt.loadNpmTask(‘grunt-contrib’)会在Sails.js中触发一个错误?
EN

Stack Overflow用户
提问于 2016-03-02 02:19:43
回答 1查看 156关注 0票数 0

这看起来很简单,但我似乎无法调试这个错误。我已经将这段代码添加到我的Sails中,作为/tasks/config/jshint.js。

代码语言:javascript
复制
module.exports = function(grunt) {
  console.log(1);
  grunt.config.set('jshint', {
    files: {
      src: ['api/services/*.js', 'api/policies/*.js', 'api/controllers/*.js']
    }
  });
  console.log(2);
  grunt.loadNpmTask('grunt-contrib-jshint');
  console.log(3);
};

现在,当我执行任何普通任务时,都会收到一条错误消息(但旧任务仍然成功执行)。

代码语言:javascript
复制
C:\dev\fo-rest-api>grunt aglio
1
2
Loading "Gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function

Running "aglio:your_target" (aglio) task
...
Done, without errors.

当我运行jshint任务时,我会得到相同的加载错误,并且任务将被中止。

代码语言:javascript
复制
C:\dev\fo-rest-api>grunt jshint
1
2
Loading "Gruntfile.js" tasks...ERROR
>> TypeError: undefined is not a function
Warning: Task "jshint" not found. Use --force to continue.

Aborted due to warnings.

C:\dev\fo-rest-api>

还有几个注意事项:

  1. 使用--force只会更改错误消息的措辞。
  2. 在/node_modules中似乎成功地安装了grunt-contrib(我删除了所有内容并重新运行了npm install
  3. 我在Windows上运行这个,如果这有关系的话。我尝试以普通用户和管理员身份打开命令行。
  4. 我试着注释掉loadNpmTask行,看看sails是否会自动加载它,但还是得到了Warning: Task "jshint" not found.

谢谢你提供的任何线索。

EN

回答 1

Stack Overflow用户

发布于 2016-03-03 01:32:10

答案很直截了当。我以某种方式在s的末尾删除了grunt.loadNpmTasks。当我把它加回去的时候,一切都很顺利。

我希望有某种语法强调,对于常见的包,如咕噜,将识别这种类型的错误.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35737243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档