提供组合的JavaScript文件
在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); }
但是脚本不加载。 请帮忙
为什么你会使用readFileSync这样的东西? 您可能正在同时读取所有文件。 我可能会解决这个asynchronous库,并有一个更多的function的方法。
async.map(['file1','file2','file3'], fs.readFile, function(err, results){ results.join(''); // This is your string. });
有关Async GitHub页面的更多信息。
乍一看,我会这样debugging:
- 写一些静态文本,并尝试打印。
- 确认
fs.readFileSync()
实际上是读取文件…(打印到控制台应该工作)
而且,它看起来不像你在任何地方返回你的组合脚本。