1

在使用 Typescript (v0.8.3) 和 Visual Studio + Web Essentials 时,我已将 Web Essentials 配置为使用 AMD 模块编译器标志,并使用它来缩小生成的 JS。

在此处输入图像描述

在我的 AppMain.ts 中,我使用 import 关键字导入了一个模块

/// <reference path="./../modules/jquery.d.ts" />
import main = module('classes/facebook');

export class AppMain {
    public run() {
        $(()=>{
            var app = new facebook.App();
            app.start();
        });
    }
}

生成的 JS 如下所示

define(["require", "exports", 'classes/facebook'], function(require, exports, __main__) {
    var main = __main__;

    var AppMain = (function () {
        function AppMain() { }
        AppMain.prototype.run = function () {
            $(function () {
                var app = new facebook.App();
                app.start();
            });
        };
        return AppMain;
    })();
    exports.AppMain = AppMain;    
})

我的问题是,如何获取生成的 requirejs 代码来加载 *.min ?由于 Web Essentials 已经生成了 JS 文件的缩小版本。

例如,我想要从生成的 JS 文件中得到什么:

define(["require", "exports", 'classes/facebook.min'], function(require, exports, __main__)

编辑:我有很多模块,所以我更喜欢一种让我不那么头痛的方法。

4

2 回答 2

2

我建议您不要使用这些最小文件并使用 r.js 进行合并,然后在使用 RequireJS 开始时使用单独的缩小管道。

由于您可以轻松调试非缩小的js ,因此它也会让您在调试应用程序时免于头疼。

于 2013-05-29T11:15:54.457 回答
1

您需要添加一些 RequireJS 配置以要求它替换库的缩小版本:

requirejs.config({
    enforceDefine: true,
    paths: {
        facebook: [
            'lib/facebook.min',
            'lib/facebook'
        ]
    }
});
于 2013-05-29T08:07:07.357 回答