跳到主要内容
CNode
查看回复

回复 (14)

K
keinwang#112 年前

https://github.com/lifesinger/lifesinger.github.com/issues/171 看看这个就知道什么原因了,那个JS不是单独用的

W
wh1100717#212 年前

项目最终是通过Grunt来进行合并和压缩的。拆分的主要目的在于项目开发的模块化以及集成测试的方便。 插件也好,框架也好,大部分的内部逻辑和变量对外是不暴露的。这时候就很难直接进行测试。那么开发的时候将整个项目包裹的(function(){中间部分})(this)拆分成(function(){ + 中间部分 + })(this)。那么中间部分代码就暴露出来了。就可以直接访问具体的变量和内部函数了。

M
mailzwj#312 年前
W
wh1100717#512 年前
引用 wh1100717项目最终是通过Grunt来进行合并和压缩的。拆分的主要目的在于项目开发的模块化以及集成测试的方便。 插件也好,框架也好,大部分的内部逻辑和变量对外是不暴露的。这时候就很难直接进行测试。那么开发...

@kingapple 是的,因为分成了多个文件,中间部分也独立成了多个文件,那么测试的时候直接引用具体的需要进行测试的文件,那里面的变量和函数就能直接获取到了,显然测试就变得容易得多了。很多前端项目都是这样组织代码的。

K
kingapple#612 年前
引用 wh1100717项目最终是通过Grunt来进行合并和压缩的。拆分的主要目的在于项目开发的模块化以及集成测试的方便。 插件也好,框架也好,大部分的内部逻辑和变量对外是不暴露的。这时候就很难直接进行测试。那么开发...

@wh1100717 但是把一个文件拆成这么多份,不乱么:( 都不知道最后哪个文件和哪个拼接了呢 btw,应该怎么分拆文件呢?分拆只是为了便于测试么?

K
kingapple#712 年前
引用 mailzwj这样就配对了:) https://github.com/seajs/seajs/blob/master/src/outro.js

一个文件里就放了这几个字符,屌爆了 作者是先写好整个文件,再拆成这么多个零碎文件么?

W
wh1100717#812 年前
引用 wh1100717项目最终是通过Grunt来进行合并和压缩的。拆分的主要目的在于项目开发的模块化以及集成测试的方便。 插件也好,框架也好,大部分的内部逻辑和变量对外是不暴露的。这时候就很难直接进行测试。那么开发...

@kingapple 你觉得3000行代码的一个文件乱还是按照功能划分的600行代码的5个文件乱?

他的配置文件在这里https://github.com/seajs/seatools/blob/master/Gruntfile.js

他的结构说明文档在这里https://github.com/lifesinger/lifesinger.github.com/issues/171。

按照你的逻辑 再大的项目,都应该把所有的代码放到一个文件里,那样最不乱了...

建议你看一下Jquery的源码。如果把这些都写在一个文件里面,那就真心崩溃.... https://github.com/jquery/jquery/tree/master/src

W
wh1100717#1012 年前
引用 wh1100717项目最终是通过Grunt来进行合并和压缩的。拆分的主要目的在于项目开发的模块化以及集成测试的方便。 插件也好,框架也好,大部分的内部逻辑和变量对外是不暴露的。这时候就很难直接进行测试。那么开发...

@kingapple 每个项目都有自己组织项目结构的特点,我只是说了sea.js之所以这么组织代码的原因,不代表只能这么组织项目。你如果不喜欢进行代码拆分并且项目不是足够复杂,或者有别的测试方式进行代码模块测试,那都写一个文件里也未尝不可。

K
kingapple#1112 年前
引用 wh1100717项目最终是通过Grunt来进行合并和压缩的。拆分的主要目的在于项目开发的模块化以及集成测试的方便。 插件也好,框架也好,大部分的内部逻辑和变量对外是不暴露的。这时候就很难直接进行测试。那么开发...

@wh1100717 亲,JS为何要写测试呢,赶脚结构经常变化的,写测试多麻烦:(每次改动结构还要改测试代码,不烦人么? 话说seajs还为测试特地自己写了一个框架,为何不用其他现有的测试框架呢? 文章图片

参与回复

登录后即可参与回复。登录