【发布时间】:2015-10-06 19:43:15
【问题描述】:
这是我的 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代码,其中js找不到关键字“require”。此外,我们正在使用 traceur 将我们的一些 ES6 模块转换为 ES5。这是编译和捆绑的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
}
}
【问题讨论】:
-
好吧,也许你是对的。但是当我在本地编译它时它工作正常,但是当类型脚本文件通过 gulp traceur 进行捆绑和缩小时,我得到了错误。
标签: javascript typescript traceur es6-module-loader gulp-traceur