0

我正在使用节点脚本重写一些文件,包括在 Trigger.IO 中的 forge 构建的 prebuild 部分中的 index.html。

我已经直接测试了脚本,它工作正常。一旦我在预构建中使用它,我就会收到以下错误:

Missing index.html in source directory, index.html is required by Forge.

有人对我应该做什么或为什么这可能会出错有任何提示吗?

这是我正在使用的脚本:

var fs = require('fs-sync')
  , fs2 = require('fs')
  , path = require('path');

replaceFiles = function(dirPath, sourcePath) {
  try { var files = fs2.readdirSync(dirPath); }
  catch(e) { return; }
  if (files.length > 0)
    for (var i = 0; i < files.length; i++) {
      var filePath = dirPath + '/' + files[i];
      var fileparts = files[i].split('.');
      if(!fs2.statSync(filePath).isFile() && files[i] == 'lib'){
        fs.delete(filePath);
        console.log('deleted lib directory');
      } else if (fs2.statSync(filePath).isFile() && (fileparts[1] == 'jpg' || fileparts[1] == 'png' || fileparts[1] == 'html')){
        fs.delete(filePath);
        console.log('deleted ' + filePath);         
      }
    }
    fs.copy(sourcePath, dirPath, {});
    console.log('copy done!');
};

var target = process.argv[2];
console.log(target);

replaceFiles('.', './' + target);

Trigger.IO 运行以下命令:

node hook.js android
4

1 回答 1

0

触发应用程序需要在 src 文件夹的根目录中有一个 index.html,如果在应用程序运行时该文件不存在,那么您将看到该错误消息。

看起来您的代码在将文件复制到之前删除了所有 html 文件./android./我猜您的 android 文件夹中没有 index.html,因此您构建的应用程序中不存在 index.html。

您可以通过查看应用程序文件夹中的文件夹来查看哪些文件实际进入了您构建的应用development/android/assets/src程序。

于 2013-07-19T12:42:50.733 回答