9
我使用的打字稿與AMD和require.js,但我不能得到打字稿編譯器輸出加載模塊後將執行的代碼。打字稿與AMD和require.js
這是main.ts
:
import { foo } from './bar';
foo('world');
這是bar.ts
:
export function foo(name: string) {
alert('Hello ' + name);
}
我用下面的tsconfig.json
文件編譯如下:
{
"compilerOptions": {
"alwaysStrict": true,
"module": "amd",
"outFile": "client.js",
"target": "es5"
},
"files": [
"main.ts"
]
}
,包括它在我的HTML這樣的:
<script data-main="client/client.js" src="/static/require.js"></script>
然而,生成的JavaScript代碼如下所示:
define("bar", ["require", "exports"], function (require, exports) {
"use strict";
function foo(name) {
alert('Hello ' + name);
}
exports.foo = foo;
});
define("main", ["require", "exports", "bar"], function (require, exports, bar) {
"use strict";
bar.foo('world');
});
一切都很好,除了一個事實,即我想在main
模塊中直接執行代碼。所以,最後的定義應該是
define(["require", "exports", "bar"], ...
,而不是
define("main", ["require", "exports", "bar"], ...
目前,我需要用JavaScript編寫的第三腳本只是加載main
模塊,我認爲這是不好的風格有main
模塊作爲可重複使用的代碼。
如何獲取打印機編譯器輸出main.ts
作爲可執行文件定義而不是模塊定義?
請勿使用帶有模塊的'/// <參考路徑=「[您的導入文件]」/>'。只是'輸入'他們。 –