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 が必要です。アプリの実行時にそのファイルが存在しない場合、そのエラー メッセージが表示されます。

./androidあなたのコードは、ファイルをにコピーする前にすべての html ファイルを削除するように見えます./。Android フォルダーに index.html がないため、ビルドされたアプリに index.html が存在しないと思います。

development/android/assets/srcアプリのフォルダー内のフォルダーを調べると、ビルドされたアプリに実際にどのファイルが含まれているかを確認できます。

于 2013-07-19T12:42:50.733 に答える