新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
打包出来具体有多大呢。weibo这种项目首次加载的js大小1.6MB以上,还不算内嵌的js。如果是单页应用2-3M应该不是很大的问题。
成都创新互联于2013年创立,先为番禺等服务建站,番禺等地企业,进行企业商务咨询服务。为番禺企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
去除不必要的插件
刚开始用 webpack 的时候,开发环境和生产环境用的是同一个 webpack 配置文件,导致生产环境打包的 JS 文件包含了一大堆没必要的插件,比如 HotModuleReplacementPlugin, NoErrorsPlugin... 这时候不管用什么优化方式,都没多大效果。所以,如果你打包后的文件非常大的话,先检查下是不是包含了这些插件。
提取第三方库
像 react 这个库的核心代码就有 627 KB,这样和我们的源代码放在一起打包,体积肯定会很大。所以可以在 webpack 中设置
{
entry: {
bundle: 'app'
vendor: ['react']
}
plugins: {
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.js')
}
}
1. 将你的JS文件进行压缩,百度一下,工具一把
2. 服务器端开启gzip压缩
3. 如果你是3个单独的JS,那么你可以合成1个文件,减少请求次数
4. 将你的script标签写在页面底部body标签结束之前
5. 检查你的js中是否存在特别耗时的逻辑,因为脚本加载时阻塞式的,它会加载完并执行完之后,才会加载其它资源,因此慢并不一定是文件大,也可能是文件执行花了很长时间
6. 如果还是觉得很慢,你可以使用动态加载,不要直接在页面中写script标签,而是动态创建一个script将该脚本引进来,这样的加载方式是非阻塞式的,不会影响其它资源加载。
7. 上面方法全用了,还是觉得很慢,那你应该检查你的服务器和网络情况,因为按理来说100多kb的脚本不至于慢到不可接受的地步。
8. 将页面中的资源分散到多个一级或二级域名,因为浏览器对同一个域名同时加载的资源数量是有限制的
9. 如果你还是觉得很慢,那就玩些高级玩意儿吧(如使用CDN加速等)
10. 上面方法都试过,还是不奏效?那我也没辙了,除非能现场分析。
我的神啊,即便是C/S应用你直接往客户端塞2-3千条数据它也受不了啊。
Google Chrome可能不提示。但是你想过没有,即便是你的客户端能够承受住上千条的数据,你的服务器呢?可能几十人并发操作,你的服务器就爆掉了。所以建议你减小数据加载规模,牵涉到资源的问题,最好分布解决。
可以尝试吧文件分成几个 js,分开来玩。
我不是那么懂 js,但写了用不了也没用了。
或者可以试试吧不要的部分去掉,尽量减少文件大小。