首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >节点/NPM/grunt在jscs上失败(grunt-jscs)

节点/NPM/grunt在jscs上失败(grunt-jscs)
EN

Stack Overflow用户
提问于 2015-12-09 17:24:04
回答 3查看 967关注 0票数 7

我有一个在javascript代码库上运行JSCS的grunt任务,它一直工作到与使用最新稳定版本的grunt,npm/node的构建服务器集成的时候。

这一切在NPM1.XX.x下运行都很好,但是在我升级到2.XX.X之后,它就坏了。我尝试了最新的3.XX.X,但以与2.XX.X相同的方式失败了。

我认为所需的相关部分是

cli输出:

代码语言:javascript
复制
$ node -v
v5.2.0

$ npm -v
3.3.12

$ grunt --version
grunt-cli v0.1.13
grunt v0.4.5

$ grunt jscs
Loading "jscs.js" tasks...ERROR
>> TypeError: fn.call is not a function
Warning: Task "jscs" not found. Use --force to continue.

Aborted due to warnings.

package.json:

代码语言:javascript
复制
{
"name": "Javascript",
  "version": "1.0.0",
  "private": true,
  "devDependencies": {
    "grunt": "~0.4.5",
    "matchdep": "^0.3.0",
    "grunt-contrib-watch": "~0.6.1",
    "grunt-express": "~1.4.1",
    "grunt-open": "~0.2.3",
    "grunt-chmod": "~1.0.3",
    "grunt-contrib-jshint": "~0.11.3",
    "grunt-contrib-uglify": "~0.10.0",
    "karma": "~0.13.15",
    "grunt-karma": "~0.12.1",
    "jasmine-core": "~2.3.4",
    "karma-jasmine": "~0.3.6",
    "phantomjs": "~1.9.18",
    "karma-phantomjs-launcher": "~0.2.1",
    "angular-mocks": "~1.2.28",
    "jquery": "~2.1.4",
    "underscore": "~1.8.3",
    "grunt-contrib-clean": "~0.6.0",
    "karma-coverage": "~0.5.3",
    "grunt-jscs": "~2.3.0",
    "grunt-contrib-concat": "~0.5.1"
  }
}

Gruntfile.js配置:

代码语言:javascript
复制
module.exports = function (grunt) {
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

grunt.initConfig({
    .....
    jscs: {
        src: [
            'gruntfile.js',
            '<%= sourceFolder %>/**/*.js',
            '!<%= sourceFolder %>/angular/**',
            '!<%= sourceFolder %>/es5-shim/**',
            '!<%= sourceFolder %>/**/*[.-]min.js',
            '!<%= sourceFolder %>/respond/*.js',
            '!<%= sourceFolder %>/angular-ui-bootstrap/*.js',
            '!<%= sourceFolder %>/analytics/angulartics*.js'
        ],
        options: {
            config: '.jscsrc',
            fix: true
        }
    }
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-23 23:44:19

grunt-express项目包含一个导致此失败的依赖项。grunt-express已经两年多没有发布了,为此,我选择了迁移到grunt-contrib-connect并使用它,这解决了我的问题!希望它能帮助任何遇到这个问题的人。

票数 0
EN

Stack Overflow用户

发布于 2015-12-19 16:08:57

刚刚创建了一个测试项目,我能够重现这个问题。它就在这一行:

代码语言:javascript
复制
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

使用负载-咕噜-任务代替:

代码语言:javascript
复制
require('load-grunt-tasks')(grunt);

还运行npm i --save-dev load-grunt-tasks,你就可以走了!

票数 1
EN

Stack Overflow用户

发布于 2015-12-16 21:23:27

每当我构建与node.js/npm升级相关的问题时,10/10次都是错误依赖。

尝试将grunt-jscs依赖项设置为2.5:https://www.npmjs.com/package/grunt-jscs

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

https://stackoverflow.com/questions/34185105

复制
相关文章

相似问题

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