2015-02-06 4 views
8

Sono un debuttante al gulp e sto provando a giocarci. Ottengo questo errore quando provo ad usare gulp-jscsgulp-jscs Object.keys chiamato non-object

'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 

ed ecco la mia gulpfile

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

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

Dunno. Hai un file chiamato 'app.js' in una cartella' src'? – Andy

+0

Sì, e ho usato gulp-jshint ed è andata bene. Ma ha avuto un problema con gulp-jscs –

+3

E hai un file di configurazione '.jscsrc'? Non un file '.jscs.json' che era il vecchio modo di fare le cose. – Andy

risposta

7

Questo sembra accadere se JSCS non ha accesso in lettura al .jscsrc o se lo fa, non esistere. Questo mi è successo dopo averlo copiato e incollato da una vecchia versione di git. Per risolvere questo problema, apri il file con un editor di testo e salvalo nuovamente, accettando la richiesta di sovrascrittura e iniziando con un '.' (ad esempio .jscsrc) Esegui nuovamente l'attività e verrà completata.

+0

Sembra essere un altro problema, ho controllato .jscsrc ma ha tutti i privilegi richiesti –

+0

Strano, ho dovuto effettivamente salvarlo e sovrascriverlo con un editor di testo in OSX in modo che potessi permettere al nome del file di iniziare con un '. ' – TechnoTim

+0

prova a sovrascriverlo con un editor di testo e assicurati che il nome del file inizi con "." – TechnoTim

2

Ho avuto lo stesso problema: "Impossibile caricare il file di configurazione JSCS a /Desktop/node/My_Project_Name/.jscsrc fine imprevisto di ingresso ...."

sono stato in grado di risolvere il problema prima controllando per vedere se il file esisteva nella radice del mio progetto. nel terminale eseguire il seguente comando: ls -ld *

Il file non è mai stato creato per me, così ho creato il file .jscsrc poi ho aggiunto il seguente codice:.?

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

Salva questo file alla radice del progetto, quindi eseguire di nuovo il comando task gulp dovrebbe funzionare.

0

Aggiornamento della dipendenza in bower.json su ngCordova e risolto il problema !!!