2013-05-29 118 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