根據你的問題和評論
打字稿編譯器能夠將多個外部模塊編譯爲放入單個輸出文件的命名的AMD模塊。但是,爲了有效地使用這些模塊,必須對RequireJS進行配置,以便它知道在哪裏找到它們。
有一種解決方法可以應用。首先,除了所有模塊的路徑外,我們不要在config
中定義任何模塊路徑。
require.config({
paths: {
"all": "path/to/all/modules"
},
deps: { "all" } // This to tell requireJS to load 'all' at initial state.
});
,然後裝入config
/main
文件
<script data-main="scripts/main" src="scripts/require.js"></script>
從這個requireJS將簡單地讀取所有define()
塊modules.js
。它將註冊您在js文件中獲得的所有模塊名稱。例如,如果您在module.js
中獲得define('myModule', [function(){...}]);
。您可以直接調用以在任何地方加載它,而無需爲其定義路徑。
例如在你的代碼中的一些地方。
requirejs(['myModule', function(myModule){
myModule.doSemething();
});
(注:是的,這個答案是不是想解決問題的原點,而只是一門心思解決最初的問題,如果有人認爲此答案沒用隨意下表決)
我不知道答案,但有興趣的目的是讓你嘗試這個......我可以知道它是什麼嗎? –
@LinhPham TypeScript編譯器能夠將多個外部模塊編譯爲放入單個輸出文件的命名AMD模塊。但是,爲了有效地使用這些模塊,必須對RequireJS進行配置,以便它知道在哪裏找到它們。 –
很有意思。我們是否像'jquery' +'underscore' =>'define('jquery',[fucntion(){...}]); define('underscore',[fucntion(){...}]);'到單個文件中? ----如果是這樣,也許可以應用解決方法。 –