【问题标题】:Developing javascript for minification开发用于缩小的 javascript
【发布时间】:2014-07-27 15:46:51
【问题描述】:

我已经阅读了几个答案,但我想知道实现以下目标的最佳方法 -

我受委托提供一个小部件类型的 javascript 工具,我的客户将在其中包含脚本,为 div 提供一个 ID,小部件将负责自行加载。

到目前为止,在开发过程中,我已将小部件拆分为多个文件以保持一致性(因为客户希望能够更改源代码并重新缩小)。我使用诸如 $.load 之类的机制和附加到脚本标签的回调方法来检查库是否存在,如果不存在则包含它们。

我如何在保持此功能和一致性的同时提供缩小功能?我假设拥有 6 或 7 个缩小文件无法达到目的,但如果我的逻辑要求包括多个库并链接到其他源文件,那么我肯定不能只缩小为一个文件吗?

【问题讨论】:

    标签: javascript minify


    【解决方案1】:

    您的库应该已经全部缩小,或者像那样可用,并且您的应用程序应该驻留在单个对象中。一般:

    文件引导

    // Create Global "extend" method
    var extend = function(obj, extObj) {
        if (arguments.length > 2) {
            for (var a = 1; a < arguments.length; a++) {
                extend(obj, arguments[a]);
            }
        } else {
            for (var i in extObj) {
                obj[i] = extObj[i];
            }
        }
        return obj;
    };
    

    文件-A

    window.APP=window.APP||{};
    
    extend(window.APP,{
      //subsystem A functionality
      subsystemA:{
      }
    });
    

    文件-B

    window.APP=window.APP||{};
    
    extend(window.APP,{
      //subsystem B functionality
      subsystemB:{
      }
    });
    

    文件-Z

    window.APP.boot();
    

    所以你只需连接文件并缩小。如果您在 Global 中有一堆函数/类,则必须在缩小之前将整个混乱封装在一个自动执行的函数中。

    【讨论】:

    • 这似乎正是我所需要的,谢谢一百万
    • 一件事是我无法破坏现有用户库的缩小库,所以我认为可以将它们分开保存并使用我现有的回调方法来加载它们?
    • 是的。我在那里看不到其他选择。只要确保你的缩小器不会缩小那些外部的名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多