如何通过RequireJS / AMD将我的TypeScript代码暴露给我的JavaScript代码?

时间:2016-07-21 06:35:00

标签: javascript typescript requirejs

这是一个遗留项目,所以我不打算将所有内容更改为TypeScript,但我确实想慢慢开始组合它,所以我想使用RequireJS从普通JS调用TypeScript代码。我有1-login.jsrealtimeConnection.ts(已转换为realtimeConnection.js):

<script type="text/javascript" data-main="/content/scripts/realtimeConnection.js" src="/content/require.min.js"></script>
...
<script type="text/javascript" src="/content/pages/1-login.js"></script>

这是1-login.js

(function ($) {
    requirejs(["/content/scripts/realtimeConnection.js"], function (rtCon) {
        debugger;
        // The probelm: rtCon === undefined
    });
    ...
    ...
}(jQuery));

realtimeConnection.ts

export class RealtimeConnection {    
}

反过来变为realtimeConnection.js

"use strict";
var RealtimeConnection = (function () {
    function RealtimeConnection() {
    }
    return RealtimeConnection;
}());
exports.RealtimeConnection = RealtimeConnection;

那么如何通过RequireJS将我的TS代码暴露给JS代码?

1 个答案:

答案 0 :(得分:3)

好的发现:我需要告诉TypeScript编译器以RequireJS / AMD风格构建它:

由于我使用的是Visual Studio 2015,因此我在根内容目录as per this SO answer中放置了一个tsconfig.json文件,其中包含相应的设置(特别是"module": "amd")。

现在可行。

现在,无论谁将其标记为重复:

That allegedly duplicate question,我在上面链接的答案,标题为#34; Visual Studio 2015 RC在保存Typescript文件&#34;时不会创建源图。答案是一样的,但问题是不同的。

我找到了答案,希望它能帮助别人...... BTNOMB ......只是说......