1

HTMLの場合:

<script type="text/javascript" src="/layout/load_scripts?jquery.validate.min.js,jquery-1.5.1.min.js,jquery-ui-1.8.11.min.js,jquery.unobtrusive-ajax.min.js,jquery.validate.unobtrusive.min.js"></script>

サーバー上:

load_scripts: function (context) {
    var combined_script = '';
    var script_names = context.parameters.split(',');
    for (var i = 0; i < script_names.length; i++) {
        combined_script += fs.readFileSync('./content/scripts/global/' + script_names[i]);
    }

    context.response.writeHead(200, { 'Content-Type': 'application/javascript' });
    context.response.end(combined_script);
}

ただし、スクリプトはロードされません。助けてください

4

2 に答える 2

1

一見すると、私は次のようにデバッグします:

  1. 静的なテキストを書いて、それを印刷してみてください。
  2. 実際にファイルを読み取っていることを確認してfs.readFileSync()ください...(コンソールへの印刷は機能するはずです)

また、結合されたスクリプトをどこかに返しているようには見えません。

于 2012-07-18T20:30:26.073 に答える
1

なぜそのようなものにreadFileSyncを使用するのですか?すべてのファイルを同時に読み取ることができます。私はおそらく非同期ライブラリでこれを解決し、より機能的なアプローチをとるでしょう。

async.map(['file1','file2','file3'], fs.readFile, function(err, results){
   results.join(''); // This is your string.
});

詳細については、AsyncGitHubページをご覧ください。

于 2012-07-18T22:09:53.363 に答える