在前端开发中,在不使用框架的情况下(像RequireJS之流),如果做到模块化开发?

在进行模块化开发的过程中,有哪些基本的代码结构(不是框架的)。
之前提过一个关于封装的问题。
这封装和模块之间有哪些异同呢?

有些语无伦次了,轻喷^_^!

阅读 6.9k
4 个回答

在某天抽風把 commonJS 的風格完美搞到瀏覽器端之前,我一直這樣寫:

var Module1 = (function() { /* something */ }());

var Module2 = (function() {
    /* something else */
    // Module1.doSomething();
}());

當然自製框架畢竟無法用到所有場合

在 codetank 遊戲中,我一般這樣寫:

var Utils = Utils();

Robot = new J.Class({extend: tank.Robot}, (function(TANK) {
    return {
        run: function() {
            Utils.doSomething();
        },
    };
}(tank)));

function Utils() {
    return {
        doSomething: function() { /* nothing:) */ },
    };
}

然後你只要自動把「Utils()」腦補成「require('Utils')」即可

图片描述
配合自製的代碼高亮+配色方案效果還是不錯的

可以参考webpack的输出,足够精简
examples

模块化编程 by阮一峰
链接

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题