错误:挂钩失败,错误代码为1:

RBK*_*RBK 3 android node.js npm ionic

我正在做一个IONIC项目,

当我添加android平台时,它给我一个这样的错误.

Error: Hook failed with error code 1: D:\IONIC Workspace\risecx-app\hooks\before_prepare\01_jshint.js
    at C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\hooks\HooksRunner.js:195:23
    at _rejected (C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:797:24)
    at C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:823:30
    at Promise.when (C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:1035:31)
    at Promise.promise.promiseDispatch (C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:741:41)
    at C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:557:44
    at flush (C:\Users\HP\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:108:17)
    at doNTCallback0 (node.js:417:9)
    at process._tickCallback (node.js:346:13)
Run Code Online (Sandbox Code Playgroud)

我的hooks\before_prepare\01_jshint.js文件就像......

#!/usr/bin/env node

var fs = require('fs');
var path = require('path');
var jshint = require('jshint').JSHINT;
var async = require('async');

var foldersToProcess = [ 'js', 'js/services' ];

foldersToProcess.forEach(function(folder) {
        processFiles("www/" + folder);
});

function processFiles(dir, callback) {
        var errorCount = 0;
        fs.readdir(dir, function(err, list) {
                if (err) {
                        console.log('processFiles err: ' + err);
                        return;
                }
                async.eachSeries(list, function(file, innercallback) {
                        file = dir + '/' + file;
                        fs.stat(file, function(err, stat) {
                                if(!stat.isDirectory()) {
                                        if(path.extname(file) === ".js") {
                                                lintFile(file, function(hasError) {
                                                        if(hasError) {
                                                                errorCount++;
                                                        }
                                                        innercallback();
                                                });
                                        } else {
                                                innercallback();
                                        }
                                } else {
                                        innercallback();
                                }
                        });
                }, function(error) {
                        if(errorCount > 0) {
                                process.exit(1);
                        }
                });
        });
}

function lintFile(file, callback) {
        console.log("Linting " + file);
        fs.readFile(file, function(err, data) {
                if(err) {
                        console.log('Error: ' + err);
                        return;
                }
                if(jshint(data.toString())) {
                        console.log('File ' + file + ' has no errors.');
                        console.log('-----------------------------------------');
                        callback(false);
                } else {
                        console.log('Errors in file ' + file);
                        var out = jshint.data(),
                        errors = out.errors;
                        for(var j = 0; j < errors.length; j++) {
                                console.log(errors[j].line + ':' + errors[j].character + ' -> ' + errors[j].reason + ' -> ' +
errors[j].evidence);
                        }
                        console.log('-----------------------------------------');
                        callback(true); 
                }
        });
}
Run Code Online (Sandbox Code Playgroud)

我使用过以下命令....

npm install jshint --save

npm install q --save

npm install async

所以任何想法,我在哪里犯错误....

小智 5

只需删除您的hooks目录并输入此命令即可.

ionic hooks add

它会解决你的问题.