2015-02-06 15 views
8

Tôi là người mới làm quen với gulp và cố gắng chơi với nó. Tôi nhận được lỗi này khi tôi cố gắng sử dụng gulp-jscsgulp-jscs Object.keys được gọi là không đối tượng

'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 

và đây là tôi gulpfile

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

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

Dunno. Bạn có một tệp có tên là 'app.js' trong thư mục' src' không? – Andy

+0

Vâng, và tôi đã sử dụng gulp-jshint và nó diễn ra tốt đẹp. Nhưng có vấn đề với gulp-jscs –

+3

Và bạn có tệp cấu hình '.jscsrc' không? Không phải là một tập tin '.jscs.json', đó là cách làm cũ iirc. – Andy

Trả lời

7

Điều này dường như xảy ra nếu công ty cổ phần không có quyền truy cập vào đọc .jscsrc của bạn hoặc nếu nó không hiện hữu. Điều này xảy ra với tôi sau khi sao chép và dán nó từ một repo git cũ. Để khắc phục sự cố này, hãy mở tệp bằng trình chỉnh sửa văn bản và lưu lại, chấp nhận lời nhắc ghi đè cũng như bắt đầu bằng dấu '.' (ví dụ: .jscsrc) Chạy lại tác vụ của bạn và nó sẽ hoàn thành.

+0

Nó có vẻ là một vấn đề khác, tôi đã kiểm tra .jscsrc nhưng nó có tất cả các đặc quyền cần thiết –

+0

Thật lạ, tôi đã thực sự lưu và ghi đè nó bằng trình soạn thảo văn bản trong OSX để tôi có thể cho phép tên tệp bắt đầu bằng '. ' – TechnoTim

+0

thử ghi đè lên bằng trình chỉnh sửa văn bản và đảm bảo tên tệp bắt đầu bằng '.' – TechnoTim

2

tôi đã cùng một vấn đề: "Không thể tải công ty cổ phần tập tin cấu hình tại /Desktop/node/My_Project_Name/.jscsrc bất ngờ kết thúc đầu vào ...."

tôi đã có thể giải quyết vấn đề trước tiên hãy kiểm tra xem tệp có tồn tại trong thư mục gốc của dự án của tôi hay không. trong chạy terminal lệnh này: ls -ld *

Các tập tin không bao giờ được tạo ra cho tôi vì vậy tôi tạo ra các tập tin .jscsrc sau đó tôi thêm vào đoạn mã sau:.?

{ 
"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 
} 

Lưu tập tin này vào thư mục gốc của dự án của bạn, sau đó chạy lệnh gulp task một lần nữa nó sẽ hoạt động.

0

Đã cập nhật phụ thuộc trong bower.json trên ngCordova và giải quyết vấn đề!

Các vấn đề liên quan