2016-07-15 71 views
2

当我点击完成后,在Eclipse(Mars)中创建新的Cordova项目后,它开始向我的应用添加平台,但最终抛出以下错误并且不添加平台:在Eclipse中向Cordova App添加平台时出错

X:\CordovaWorkspace\DemoProject>cordova prepare Discovered platform 
"[email protected]" in config.xml. Adding it to 
the project Adding android project... Running command: cmd "/s /c 
"C:\Users\XYZ\.cordova\lib\android\cordova\5.3.0-nightly.2016.7.6.103e1e8d\bin\create.bat 

X:\CordovaWorkspace\DemoProject\platforms\android demo.project "Demo 
Project" --cli"" module.js:327 
    throw err; 
    ^

Error: Cannot find module 'sax' 
     at Function.Module._resolveFilename (module.js:325:15) 
     at Function.Module._load (module.js:276:25) 
     at Module.require (module.js:353:17) 
     at require (internal/module.js:12:17) 
     at Object.<anonymous> (C:\Users\XYZ\.cordova\lib\android\cordova\5.3.0-nightly.2016.7.6.103e1e8d\node_modules\elementtree\lib\parsers\sax.js:3:11) 
     at Module._compile (module.js:409:26) 
     at Object.Module._extensions..js (module.js:416:10) 
at Module.load (module.js:343:32) 
at Function.Module._load (module.js:300:12) 
at Module.require (module.js:353:17) Error: cmd: Command failed with exit code 1 Error: No platforms added to this project. Please use 
`cordova platform add <platform>`. 

X:\CordovaWorkspace\DemoProject>exit 

enter image description here

它如何可以解决。

回答

0

尝试通过下载sax模块并将其放入名为sax的文件夹中来手动解决sax要求。

或使用的情况下,npm install 你没有找到在互联网上,你可以创建一个在您节点ElementTree的/ lib目录/解析器/ sax.js sax.js,并把下面这段代码的萨克斯mmodule:

var util = require('util'); 

var sax = require('sax'); 

var TreeBuilder = require('./../treebuilder').TreeBuilder; 

function XMLParser(target) { 
    this.parser = sax.parser(true); 

    this.target = (target) ? target : new TreeBuilder(); 

    this.parser.onopentag = this._handleOpenTag.bind(this); 
    this.parser.ontext = this._handleText.bind(this); 
    this.parser.oncdata = this._handleCdata.bind(this); 
    this.parser.ondoctype = this._handleDoctype.bind(this); 
    this.parser.oncomment = this._handleComment.bind(this); 
    this.parser.onclosetag = this._handleCloseTag.bind(this); 
    this.parser.onerror = this._handleError.bind(this); 
} 

XMLParser.prototype._handleOpenTag = function(tag) { 
    this.target.start(tag.name, tag.attributes); 
}; 

XMLParser.prototype._handleText = function(text) { 
    this.target.data(text); 
}; 

XMLParser.prototype._handleCdata = function(text) { 
    this.target.data(text); 
}; 

XMLParser.prototype._handleDoctype = function(text) { 
}; 

XMLParser.prototype._handleComment = function(comment) { 
}; 

XMLParser.prototype._handleCloseTag = function(tag) { 
    this.target.end(tag); 
}; 

XMLParser.prototype._handleError = function(err) { 
    throw err; 
}; 

XMLParser.prototype.feed = function(chunk) { 
    this.parser.write(chunk); 
}; 

XMLParser.prototype.close = function() { 
    this.parser.close(); 
    return this.target.close(); 
}; 

exports.XMLParser = XMLParser;