我正在使用节点脚本重写一些文件,包括Trigger.IO中伪造版本的prebuild部分中的index.html。
我已经直接测试了脚本,它运行正常。一旦我在prebuild中使用它,我会收到以下错误:
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
答案 0 :(得分:0)
触发器应用程序需要在src文件夹的根目录中使用index.html,如果在运行该应用程序时该文件不存在,那么您将看到该错误消息。
在将./android
中的文件复制到./
之前,您的代码似乎删除了所有html文件,我猜您在android文件夹中没有index.html,因此不存在index.html你建立的应用程序。
您可以通过查看应用程序文件夹中的development/android/assets/src
文件夹,查看哪些文件实际进入您构建的应用程序。