手上有个准备重构的项目,前端求指点。

2015-05-22 17:13:03 +08:00
 deathscythe

网站是php 作为后端,现在公司外包出去,我的任务就是把外包写的凌乱的js 模块化(我打算用Seajs 或Requirejs )。网站有个后台可以管理模版的,模版文件夹里有存放插件的文件夹和公共部分的文件夹的模版,这些模版里有包含script 标签,我如果把这些script 抽出来做成js 文件,那么怎么在php 其他页面引用这个模块时候,也把这模块要用的js 文件一同加载进去?

2660 次点击
所在节点    JavaScript
6 条回复
julio867
2015-05-22 17:38:43 +08:00
使用一个隐藏域放置你抽取出来的JS文件的地址,当包含模块的页面被加载的时候,使用seajs动态读取隐藏域中指定的JS文件地址并加载
Septembers
2015-05-22 17:40:36 +08:00
1. 整理现有业务 结构
2. 整理现有业务 逻辑
3. 重新抽象设计 业务分类 组织结构
4. 重新抽象设计 文件分类 组织结构
5. 基本上可以开始工作了
以上均省略 前端 修饰

不要一开始就工作,那是做死,做到一半发现要填前面挖的坑。。。。。。。。
开始工作宁可多花点时间,对于后期是比较省事的。。。。。。。。。。
wity_lv
2015-05-22 17:56:15 +08:00
最好别动. 改bug的时候再小部分重构.
重构基本策略:
* 理清当前逻辑. 加测试,描述现有代码的功能 ( mocha + chai + karam runner )
* 重构, 需要顶一个目标, 避免为了重构而重构. (最好用webstorm)
* 保证测试通过.

重构目的:
* 使代码逻辑更清晰,方便修复bug
* 调整结构, 方便扩展

SeaJS or RequireJS 模块化建议后面在做.
先用这种格式把代码控制起来再模块化.

(function(win, $) {
})(window, jQuery);
deathscythe
2015-05-22 19:23:32 +08:00
@wity_lv 是啊,我真奇怪这个外包用了mootool 和jquery。我把用jquery 都用闭包 包含起来了。
deathscythe
2015-05-22 19:34:30 +08:00
@julio867 这方法可行?用SeaJS 或者 RequireJS 在main.js 写读取hidden input 的值?
julio867
2015-05-24 16:29:03 +08:00
@deathscythe 是否可行需要楼主去尝试,因为我说的只是思路;另外在我自己的项目中,使用该方法可以解决我的问题;但是因为文字方式的表述未必能清楚传达你我的本意,所以请楼主多尝试\(^o^)/~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/193030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX