1

我有一个在 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 文件中包含相同的脚本时,该脚本正在做一些不同的事情:它创建一个具有定义名称的文件,但该文件始终为空。有人知道这里有什么问题吗?

谢谢,彼得

4

0 回答 0