これが私のAngularモジュールで書かれたタイプスクリプトです。
/// <reference path="../../../../thirdparty/angular/angular.d.ts"/>
/// <reference path="./sharedData.ts"/>
import factory = require('./sharedData');
var sharedData: ng.IModule = angular.module('comp.modules.common.sharedData', []);
sharedData.factory('sharedData', function () {
return new factory.sharedData_factories.SharedData();
});
export {sharedData};
ローカルでは問題なく動作します。バンドル後、js がキーワード「require」を見つけられない次の js コードにコンパイルされます。また、ES6 モジュールの一部を ES5 に変換するために traceur を使用しています。コンパイルおよびバンドルされた js モジュールを次に示します。
System.register("modules/common/sharedData/sharedData.module", [], function($__export) {
"use strict";
var __moduleName = "modules/common/sharedData/sharedData.module";
var factory,
sharedData;
return {
setters: [],
execute: function() {
factory = require('./sharedData');
sharedData = angular.module('comp.modules.common.sharedData', []);
exports.sharedData = sharedData;
sharedData.factory('sharedData', function() {
return new factory.sharedData_factories.SharedData();
});
}
};
});
また、ここに tsconfig.Json があります
{
"compilerOptions": {
"module": "commonjs",
"target": "ES5",
"sourceMap": true
}
}