私はAMDローダーとしてRequireJSを使用している仕事場でTypeScriptを使用しています。これはかなりうまく動作しています。私は活字体に私の個人的なJSライブラリの一部を変換したいと疑問に思って - それは使用可能です活字体のエクスポートするモジュールシステムに組み込まれグローバルAND必要が使用して定義 /エンドユーザーがあることを起こるAMD場合それを使用して?グローバルをエクスポートし、TypeScriptモジュールシステム経由で定義しますか?
私は既存のユーザーとの互換性を壊さないようにしたいと思います。
は私の既存のJSファイルは、それがグローバルに定義し、定義されて定義した場合、TickerGraph定義するようにレイアウトされて:私の活字体のリライトでは
var TickerGraph = (function() { …class code… });
if(typeof define == "function") {
define([], function() {
return TickerGraph;
});
}
を、私は定義されたモジュールタイプでそれを打ち出してきましたUMDとしては、次のようにデにチェック
(function (dependencies, factory) {
if (typeof module === 'object' && typeof module.exports === 'object') {
var v = factory(require, exports); if (v !== undefined) module.exports = v;
}
else if (typeof define === 'function' && define.amd) {
define(dependencies, factory);
}
})(["require", "exports"], function (require, exports) {
"use strict";
return (function() {
を出力
export = class TickerGraph { …class code… }
をNOTグローバルを定義します。
エクスポートをすべて試して排除すると、グローバルにエクスポートされますが、もちろん定義されなくなります。ここのお手伝いが大変ありがとうございます。