V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
deathscythe
V2EX  ›  JavaScript

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

  •  
  •   deathscythe · 2015-05-22 17:13:03 +08:00 · 2763 次点击
    这是一个创建于 3474 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    (function(win, $) {
    })(window, jQuery);
    deathscythe
        4
    deathscythe  
    OP
       2015-05-22 19:23:32 +08:00
    @wity_lv 是啊,我真奇怪这个外包用了mootool 和jquery。我把用jquery 都用闭包 包含起来了。
    deathscythe
        5
    deathscythe  
    OP
       2015-05-22 19:34:30 +08:00
    @julio867 这方法可行?用SeaJS 或者 RequireJS 在main.js 写读取hidden input 的值?
    julio867
        6
    julio867  
       2015-05-24 16:29:03 +08:00
    @deathscythe 是否可行需要楼主去尝试,因为我说的只是思路;另外在我自己的项目中,使用该方法可以解决我的问题;但是因为文字方式的表述未必能清楚传达你我的本意,所以请楼主多尝试\(^o^)/~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:43 · PVG 04:43 · LAX 12:43 · JFK 15:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.