社区
JavaScript
帖子详情
js文件一般应该不超过多大呢
cloudgamer
2007-01-06 11:40:43
请教有经验的人
如果太大了怎么办呢
...全文
2233
31
打赏
收藏
js文件一般应该不超过多大呢
请教有经验的人 如果太大了怎么办呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangweiit
2009-02-03
打赏
举报
回复
首先,JS文件是不支持多线程下载的
假设,有10个JS文件,如果装载10次用0.1秒的话,装载一个大文件可能只要0.08秒(假设的时间)
因为,多发一个请求给服务器,对双方来说,都要耗一些处理时间
如果是一个WEBGAME应用程序,建议JS文件尽量合并
反正这些文件都要被用到
但是,后期游戏开发中各个小功能,可以独立一个JS文件,到需要的时候,再运行时加载
如果是一个门户类,,首页的JS要另外合并,其它页面的JS,可以按功能切分,
因为,可能一个100K的JS,对一个页面来说,可能只用到其中的一行
liubin0509
2007-03-03
打赏
举报
回复
mark
chaney
2007-03-01
打赏
举报
回复
3456721?是有点奇怪,
Go_Rush
2007-03-01
打赏
举报
回复
re: cloudgamer(欢迎交流qq215754452)
----
javascript权威指南 版4中说到:
使用src性质从外部javascript文件读取脚本时,HTML解析器和javascript解释器都会停止下来等待文件装载完毕。
浏览器之所以这样做(在下载js文件期间,停止一切html的解析和渲染), 是因为在文件下载回来之前无法知道 js 文件中是否会包含 document.write 这种改变 dom 的语句。
使用 defer 来告诉浏览器,
"我的这段js代码不会包含document.write 啦, 你先放心解析和显示其他html啊。
不用傻傻的等我,等你把html都处理完,再来处理我这里把"
这个时候浏览器就会暂时跳过你的这段js(就好像他们原本就不存在一样),等他忙完其他那些
乱七八糟的事情后才回过头来处理你的这个js,处理完你的这个js(就是包含defer属性的那些)后,
浏览器想:“应该有onload事件”,于是 window.onload事件触发了。
但是 firefox不支持 defer
而且ie的怪脾气也让你在使用defer的时候要小心谨慎,就是带defer的js的执行顺序问题。
下面这段代码足以说明问题
<script defer>alert(1)</script>
<script defer>alert(2)</script>
<script defer>alert(3)</script>
<script defer>alert(4)</script>
<script defer>alert(5)</script>
<script defer>alert(6)</script>
<script defer>alert(7)</script>
结果不会是 1234567,也不会是 7654321, 而是 .... 你自己试了才知道
cloudgamer
2007-03-01
打赏
举报
回复
defer是怎样用的呢
圣殿骑士18
2007-02-26
打赏
举报
回复
1.ie请求 *.js 是多线程还是单线程下载 我暂时还没有找到官方资源,就不做出结论
----
javascript权威指南 版4中说到:
使用src性质从外部javascript文件读取脚本时,HTML解析器和javascript解释器都会停止下来等待文件装载完毕。
从这里看应该是单线程的。
我觉得大未必有不好,反正只需要下载一次。
cloudgamer
2007-02-25
打赏
举报
回复
一般经验是怎样的呢
Go_Rush
2007-02-08
打赏
举报
回复
对于 5k/s 下载速度的用户,很大, 因为 50/5 =10 秒
对于 100k/s 下载速度的用户,很小, 因为 50/100=0.2秒
现实生活中,接近(但是稍微超过前者)的用户不少
cloudgamer
2007-02-08
打赏
举报
回复
50k对于一般用户算不算大呢
Go_Rush
2007-02-05
打赏
举报
回复
把大文件分开多个小文件是否会快,我看未必。
1.ie请求 *.js 是多线程还是单线程下载 我暂时还没有找到官方资源,就不做出结论
但是,即使假设ie多线程下载,服务器对于客户端请求也有同域最大两线程并发限制
http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8
2.每个js文件下载,都必须经过 TCP通讯协议三次握手 (SYN, SYN-ACK, and ACK packets)。
都要同时在客户端和服务器经过一个建立,初始化,连接,传送,销毁的过程.
这些都需要耗费资源和时间。 当然在 HTTP/1.1 下,设置 keep-alive 可以改善这种情况.
可以考虑开启iis或者apache的 gzip 压缩传送。 基本上压缩率70%-80%。
不过这个是以牺牲服务器CPU为代价的。如果并发用户多,可能首字节到达时间会长一点点。
优化这个东西,没有十分完美的,不是空间换时间,就是时间换什么什么的。
能量守恒嘛。。 呵呵
jxl76219
2007-02-03
打赏
举报
回复
关注ing~~
圣殿骑士18
2007-02-02
打赏
举报
回复
gz
cloudgamer
2007-02-02
打赏
举报
回复
..
cloudgamer
2007-01-29
打赏
举报
回复
能说说应该怎样么
xdspower
2007-01-26
打赏
举报
回复
大小都有优势和不足的。
cloudgamer
2007-01-25
打赏
举报
回复
..
scalewingzip
2007-01-19
打赏
举报
回复
不知道
fusoft
2007-01-19
打赏
举报
回复
我有个JS 200多K,自己做了个编码压缩程序,压到100K
cloudgamer
2007-01-19
打赏
举报
回复
那应该怎么样呢
nobody@noone
2007-01-15
打赏
举报
回复
多个文件也不好吧,开开关关的
加载更多回复(11)
`XXXXXX.
js
`
文件
体积
超过
500KB,已跳过压缩以及 ES6 转 ES5 的处理,手机端使用过大的
js
库影响性能。
本文介绍了一种通过使用gulp和babel将ES6转换为ES5并压缩大体积
JS
文件
的方法,有效解决了手机端使用大
JS
库导致的性能问题。
js
动态创建fileupload控件,
js
判断上传
文件
的大小,
超过
指定的大小删除掉
本文介绍了如何使用JavaScript动态创建fileupload控件,并实现上传
文件
大小的验证。当
文件
大小
超过
设定值时,会进行提示并删除该
文件
输入控件。同时提供了单个和批量上传
文件
时的大小验证示例代码。
js
实现
文件
上传—带进度条
这篇博客讲述了如何使用
JS
实现
文件
上传并显示进度条功能,针对视频等大
文件
上传时用户体验不佳的问题。作者介绍了尝试不同解决方案的过程,包括使用一般处理程序( ashx )和后台封装的
JS
,以及遇到的IP地址传值和CSS样式调整等问题,最终成功实现功能。同时,作者反思了问题解决过程中的思考和学习收获。
JavaScript、TypeScript、
js
文件
、Node.
js
、静态
文件
这篇博客介绍了JavaScript的基本概念、特点及其在Web开发中的作用,包括事件驱动和跨平台性。同时,阐述了
JS
文件
的用途以及Node.
js
作为服务器端JavaScript开发平台的角色。此外,讨论了静态
文件
在Web项目中的位置和SEO影响,并提到了HTML、CSS和JavaScript在构建网页时各自的功能。
vue打包生成的
js
文件
过大优化
本文介绍了如何通过组件按需加载、移除map
文件
、CDN引入、路由懒加载和代码压缩等方法来解决Vue项目打包后
JS
文件
过大问题,详细步骤包括配置Webpack和服务器设置,以提升首加载速度。
JavaScript
87,989
社区成员
224,684
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章