我有一个在 Visual Studio 中运行的 cordova 项目。在构建过程之前,我想使用钩子功能将一个额外的 gradle 文件复制到相应的平台文件夹。为了复制这个文件,我使用了一个简单的 javascript 文件。我想使用 js,因为它独立于操作系统。
我从这里使用以下代码:
source = "D:\\myProject\\config\\build-extras.gradle";
target = "D:\\myProject\\platforms\\android\\build-extras.gradle";
var fs = require('fs');
var cbCalled = false;
var rd = fs.createReadStream(source);
rd.on("error", function(err) {
done(err);
});
var wr = fs.createWriteStream(target);
wr.on("error", function(err) {
done(err);
});
wr.on("close", function(ex) {
done();
});
rd.pipe(wr);
function done(err) {
if (!cbCalled) {
console.log("Something wrong with copy of build-extras.gradle: " + err);
cbCalled = true;
}
}
当我在带有节点的控制台中运行此代码时,脚本将按预期复制文件。但是,当我在我的科尔多瓦 config.xml 文件中包含相同的脚本时,该脚本正在做一些不同的事情:它创建一个具有定义名称的文件,但该文件始终为空。有人知道这里有什么问题吗?
谢谢,彼得