2015-02-06 22 views
8

我是一個新手,一直在嘗試與它一起玩。我得到這個錯誤,當我嘗試使用gulp-jscsgulp-jscs Object.keys在非對象上調用

'default' errored after 98 ms 
[16:58:00] TypeError: Object.keys called on non-object 
    at Function.keys (native) 
    at NodeConfiguration.Configuration._throwNonCamelCaseErrorIfNeeded (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp-jscs/node_modules/jscs/lib/config/configuration.js:440:12) 
    at NodeConfiguration.Configuration.load (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp-jscs/node_modules/jscs/lib/config/configuration.js:51:10) 
    at StringChecker.configure (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp-jscs/node_modules/jscs/lib/string-checker.js:66:29) 
    at Checker.configure (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp-jscs/node_modules/jscs/lib/checker.js:26:39) 
    at module.exports (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp-jscs/index.js:31:11) 
    at Gulp.<anonymous> (/home/kbadr/Node_Projects/demo/membership/gulpfile.js:22:15) 
    at module.exports (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7) 
    at Gulp.Orchestrator._runTask (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp/node_modules/orchestrator/index.js:273:3) 
    at Gulp.Orchestrator._runStep (/home/kbadr/Node_Projects/demo/membership/node_modules/gulp/node_modules/orchestrator/index.js:214:10 

,這裏是我的gulpfile

var gulp = require('gulp'); 
var jscs = require('gulp-jscs'); 

gulp.task('default', function() { 
    return gulp.src('src/app.js') 
     .pipe(jscs()); 
}); 
+0

Dunno。你在'src'文件夾中有一個名爲'app.js'的文件嗎? – Andy 2015-02-06 15:11:43

+0

是的,我用gulp-jshint,它進行得很順利。但是,gulp-jscs – 2015-02-06 15:14:39

+3

有問題嗎?你有'.jscsrc'配置文件嗎?不是'.jscs.json'文件,這是做iirc的老辦法。 – Andy 2015-02-06 15:18:13

回答

7

這似乎發生,如果JSCS沒有讀訪問您的.jscsrc或者如果它不存在。這發生在我複製並從一箇舊的git repro粘貼它後。要解決這個問題,用文本編輯器打開文件並重新保存它,接受覆蓋提示以及以'。'開頭。 (例如.jscsrc)再次運行您的任務,它會完成。

+0

這似乎是另一個問題,我檢查.jscsrc但它具有所有必需的權限 – 2015-02-22 14:15:23

+0

奇怪,我必須實際保存並用OSX中的文本編輯器覆蓋它,以便我可以允許文件名以'開頭。 「 – TechnoTim 2015-02-23 21:56:15

+0

嘗試用文本編輯器覆蓋它,並確保文件名以'。'開頭。 – TechnoTim 2015-02-25 01:03:21

2

我有同樣的問題:「無法在/Desktop/node/My_Project_Name/.jscsrc輸入 意外結束加載JSCS配置文件......」

我是能夠解決的問題通過首先檢查文件是否存在於我的項目的根目錄中。在終端運行以下命令: LS -ld *

的文件從來沒有爲我創造所以我創建了.jscsrc文件,然後添加以下代碼:?

{ 
"excludeFiles": ["node_modules/**", "bower_components/**"], 

"requireCurlyBraces": [ 
    "if", 
    "else", 
    "for", 
    "while", 
    "do", 
    "try", 
    "catch" 
], 
"requireOperatorBeforeLineBreak": true, 
"requireCamelCaseOrUpperCaseIdentifiers": true, 
"maximumLineLength": { 
    "value": 100, 
    "allowComments": true, 
    "allowRegex": true 
}, 
"validateIndentation": 4, 
"validateQuoteMarks": "'", 

"disallowMultipleLineStrings": true, 
"disallowMixedSpacesAndTabs": true, 
"disallowTrailingWhitespace": true, 
"disallowSpaceAfterPrefixUnaryOperators": true, 
"disallowMultipleVarDecl": null, 

"requireSpaceAfterKeywords": [ 
    "if", 
    "else", 
    "for", 
    "while", 
    "do", 
    "switch", 
    "return", 
    "try", 
    "catch" 
], 
"requireSpaceBeforeBinaryOperators": [ 
    "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", 
    "&=", "|=", "^=", "+=", 

    "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&", 
    "|", "^", "&&", "||", "===", "==", ">=", 
    "<=", "<", ">", "!=", "!==" 
], 
"requireSpaceAfterBinaryOperators": true, 
"requireSpacesInConditionalExpression": true, 
"requireSpaceBeforeBlockStatements": true, 
"requireLineFeedAtFileEnd": true, 
"disallowSpacesInsideObjectBrackets": "all", 
"disallowSpacesInsideArrayBrackets": "all", 
"disallowSpacesInsideParentheses": true, 

"validateJSDoc": { 
    "checkParamNames": true, 
    "requireParamTypes": true 
}, 

"disallowMultipleLineBreaks": true, 

"disallowCommaBeforeLineBreak": null, 
"disallowDanglingUnderscores": null, 
"disallowEmptyBlocks": null, 
"disallowMultipleLineStrings": null, 
"disallowTrailingComma": null, 
"requireCommaBeforeLineBreak": null, 
"requireDotNotation": null, 
"requireMultipleVarDecl": null, 
"requireParenthesesAroundIIFE": true 
} 

保存這個文件到你的項目的根目錄,然後再運行gulp任務命令它應該工作。

0

更新了ngCordova在bower.json中的依賴關係並解決了問題!

相關問題