Typescript导入模块导入js的缩小版本

时间:2013-05-29 07:34:23

标签: typescript web-essentials

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

enter image description here

在我的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文件的缩小版本。

E.g。我想从生成的JS文件中得到什么:

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

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

2 个答案:

答案 0 :(得分:1)

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

requirejs.config({
    enforceDefine: true,
    paths: {
        facebook: [
            'lib/facebook.min',
            'lib/facebook'
        ]
    }
});

答案 1 :(得分:1)

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

由于您可以轻松调试未缩小的 js ,因此可以省去调试应用程序的麻烦。