2013-05-29 89 views
0

当使用Typescript(v0.8.3)和Visual Studio + Web Essentials时,我已经配置Web Essentials以使用AMD模块编译器标志,并且还将其用于缩小生成的JS 。使用Typescript导入模块来导入js的最小版本

enter image description here

在我AppMain.ts我使用进口关键字

/// <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__) 

编辑: 我有很多模块,所以我喜欢的方式,让我少头疼。

回答

1

我建议您不要使用这些分文件,并使用r.js用于合并跟随当你使用RequireJS开始时,通过单独的缩小管道。

这将节省您的头痛与调试您的应用程序,以及因为你可以很容易地调试精缩JS非。

+0

我想我要走这条路。谢谢。 – Andy

1

您需要添加一些RequireJS config来要求它替代库的缩小的版本:

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

我有太多的模块,我最终会过于频繁地维护requirejs.config。 – Andy