作者ThreeDay0905 (三天)
看板Ajax
标题Re: [问题] 有架构化的Java Script
时间Sun Sep 19 15:23:19 2010
※ 引述《TonyQ (沉默是金。)》之铭言:
: 比较常见的作法是把所有用到的 lib 打成一包,
: 虽然这样对第一次的浏览效能会比较有所损伤,
: 所以要搭配把script放在 </body> 的作法 。
: 但是考虑到浏览器的快取效果,「在大部分的情形下」,
: 这样会比分别读取大小不一的 script 档效果来得好,
: 即使你把他们打包成一个。
: 这个问题要讨论的我个人会分析成以下几个面向
: 1.流量传输问题 - javascript file 的总大小
: 2.连线数问题 - javascript file 的总数
: 以上两点是比较偏浏览器环境的限制,基本上是处於比较好解决的那块,
: 常见是 yui compressor 搭配一些简单的 shell script 跟规范工作流程 ,
: 要费点功夫但不会很难搞定,而且这比较属於一次性的环境建设。
: 一般来讲会把专案的原始码跟发布的过程中,去进行一个 deploy 的程序,
: 在那时透过自动化程序来对 script 进行压缩的动作。
所以在实做上的作法
主要还是偏向把js档元件化去拆开来
共用的元件库(jQuery)
延伸基础类别的函式库(DateTime, Array, String)
常用的函式库
功能导向的程式元件
乃至於该页面专属的js档(bind Event, 或其他的控制)
然後再依照该页的需求把那些js档import进来
这样确实会比较有架构而且好维护了
但是问题的关键变成再发布时您所说的自动化程序
来将该页有用到的script档包成一个档案并且进行压缩
请问这部份的技术有关键字可以让我去google吗 = =
其实遇到最大的问题就是虽然现在开发专案已经有依照需求拆成许多的js档
但变成是一页会有七八个甚至更多的js档
实在上线的时候还要一个一个手动压缩并且组成一个档案
要是有哪边功能上线之後还要修改
就会很痛苦
这点困扰我很久 = =
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.249.140.101
1F:→ TonyQ:有这麽多 js 档,那他们大部分是偏向页面的还是环境的?.? 09/19 15:52
3F:→ TonyQ:打包是一部分,怎麽在开发环境跟发布环境切换,这就要靠专案 09/19 15:53
4F:→ TonyQ:去定rule了,有的人会在web.config去写参数来设定不同mode 09/19 15:53
5F:→ TonyQ:来再程式中判断载入不同档案.这些算是架构方面的思考.. 09/19 15:54
6F:→ TonyQ:一开始切换会很痛,不过大多算是一次性的成本... 09/19 15:54
7F:→ TonyQ:哦 你提到上线之後需要修改, 这问题基本上如果说你是一个页 09/19 16:04
8F:→ TonyQ:面独立打一整包 js , 有共用元件修改时全部都要改,的确是很 09/19 16:04
9F:→ TonyQ:头痛。所以一般不会这麽凶狠啦,至少是两只。 09/19 16:04
10F:推 PsMonkey:GWT GWT 啦... [挖鼻孔] 09/19 17:32
11F:→ ThreeDay0905:请问有推荐的书籍或着网站吗 我google ASP.NET GWP 09/19 17:44
13F:→ ThreeDay0905:可是还是不太清楚他的概念或着怎麽去实做 09/19 17:45