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

你为什么要使用 readFileSync 来做类似的事情?您可以同时读取所有文件。我可能会用异步库解决这个问题,并有一个更实用的方法。

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

有关异步 GitHub 页面的更多信息。

于 2012-07-18T22:09:53.363 回答
1

乍一看,我会这样调试:

  1. 写一些静态文本并尝试打印。
  2. 确认这fs.readFileSync()实际上是在读取文件...(打印到控制台应该可以)

而且,看起来您并没有在任何地方返回您的组合脚本。

于 2012-07-18T20:30:26.073 回答