日期:2014-05-16  浏览次数:20429 次

如何将多个js文件合并为一个js文件。
如题,现在的想法是,将多个js文件,比如a.js,b.js,c.js合并为d.js,然后页面上调用的时候,本来需要请求三次的,现在只需要请求d.js就可以了。有没有相关示例或者代码来实现。。不要采用工具实现的。

------解决方案--------------------
只能用动态生成JS的方式了

在后台写一个文件,从几个JS中读出来,之后写一起

然后前台引用这个文件就可以了
------解决方案--------------------
可以用Minify

Minify 是用PHP5开发的应用,通过遵循一些Yahoo的优化规则来提高网站的性能。它会合并多个CSS或者JavaScript文件,移除一些不必要的空格和注释,进行gzip压缩,并且会设置浏览器的缓存头。Minify 在设计上和Yahoo的 Combo Handler Service非常像,不过Minify可以合并任何你想要合并的JavaScript和CSS文件

参考这里

 及这个 地方
------解决方案--------------------
JScript code
<script src="xxx.js"></script>

xxx.js:

document.write('<scr' + 'ipt src="a.js"></scri' + 'pt>');
document.write('<scr' + 'ipt src="c.js"></scri' + 'pt>');
document.write('<scr' + 'ipt src="b.js"></scri' + 'pt>');
....

------解决方案--------------------
合上面并?就在服务器端多放几个JS就OK了,反正多几个JS静态文本文档只占很小的空间,而真正动态合并的话会耗损A端很大的资源,尤其并发HTTP请求的时候。
这样应该可以:
先把“a.js、b.js、c.js”这3个JS做成4份JS文本,分别由“a.js + b.js + c.js”、“a.js + b.js”、“a.js + c.js”和“b.js + c.js”组成,把它们对应内容命名为:“a.js,b.js,c.js”、“a.js,b.js”、“a.js、c.js”和“b.js,c.js”,通过路径:“http://urlPath/a.js,b.js,c.js”、“http://urlPath/a.js,b.js”、“http://urlPath/a.js,c.js”和“http://urlPath/b.js,c.js”,不就可以静态服务了?