网站建设公司优惠中,北京著名的网站制作公司,西安百度竞价开户,给文字做网站链接最近在思考前端js文件该如何合并#xff0c;当然不包括不能合并文件#xff0c;而是我们能合并的文件#xff0c;想了想应该也只有三种方式。 三个方式如下#xff1a; 1. 一个大文件#xff0c;所有js合并成一个大文件#xff0c;所有页面都引用它。 2. 各个页面大文件当然不包括不能合并文件而是我们能合并的文件想了想应该也只有三种方式。 三个方式如下 1. 一个大文件所有js合并成一个大文件所有页面都引用它。 2. 各个页面大文件各自页面合并生成自己所需js的大文件。 3. 合并多个共用大文件根据实践情况合并出多个共用js文件每个页面引用多个共用大文件。 另外在我看来合并有两个目的 1. 为了减少请求数。 2. 代码安全考虑文件分得越多越容易被人看清。 PS注意我说的不是压缩混淆只是合并 1. 一个大文件 这种方式就是不管三七二十一所有js合并成一个大文件所有页面都引用它即使某些代码可能不会用到。 优点 1. 合并简单使用也简单。 2. 其他页面可利用缓存优化加载。 缺点 1. 页面可能会加载到本页面不使用的代码。 不适用场景 1. 这种方式肯定不适用于大型的Web应用且不论单文件代码量业务的复杂性也不允许我们这样干我没见过那个网站这样做的。 适用场景 1. Hybrid应用无论是Mobile的Hybrid应用还是PC的Hybrid应用桌面应用类似有道团队开发框架hexchromium nodejs都非常适合本身就不会有请求速度问题这种位于客户端代码的应用的代码安全更为重要。 PS当然最重要的还是后端的安全无论前端是否被破解后端是否完善输入校验是否防止越权后端才是关键也就是常说一句话“不要相信用户的任何输入”。 2. 各个页面大文件 各个页面合并生成自己所需js的大文件生成多份js合并。 优点 1. 每个页面都用到最精确的js不会有不相关代码。 缺点 1. 有多少个页面就会生成多个js导致存在大量共同js代码的冗余。 2. 共用部分无法使用缓存优化加载。 3. 合并和使用会相对比较复杂。 这种方式我始终觉得不对劲小应用直接单个大文件搞定而大应用更不会这样去做更不能用在Hybrid应用上在这样讲究安装包大小的情形下不能容忍冗余代码。我在思考各种场景时候都发现能用上面或下面方式解决而且是更优所以我觉得这种方式是个鸡肋。 3. 合并多个共用大文件 根据实践情况合并多个共用大文件例如依赖库分类再合并本页面所需js文件例如以业务分类每个页面引用一个或多个共用大文件和本页面的js文件。 优点 1. 共用部分得到加载优化每个页面引用的也尽可能的做到了不冗余。 缺点 1. 多多少少还是会存在某些页面会引用到不需要的代码共用不并不是完完全全的共用。 适用场景 1. 大小型应用都比较适用每个页面可能存在许多共用部分合理的分文件合并将非常关键。 总结 这一篇文件只是思考也只算泛泛之谈。文件合并方法挺多由后端动态生成或工具直接生成gruntrequirejs合并的方式也就以上三种也取决于我们实践需要。 合并很重要但不是提倡所有文件都合并起来有不能合并的有些单独文件更优的还是要看具体场景。 本文为原创文章转载请保留原出处方便溯源如有错误地方谢谢指正。 本文地址 http://www.cnblogs.com/lovesong/p/5068025.html 本文转自 海角在眼前 博客园博客原文链接 http://www.cnblogs.com/lovesong/p/5068025.html 如需转载请自行联系原作者