【发布时间】:2016-04-26 03:28:30
【问题描述】:
我知道这是一个较早的讨论,但我在使用 angular2 和 systemjs 时遇到了这个问题。我唯一的元数据如下:
System.config({
'defaultJSExtensions': true,
baseURL: '/js',
map: {
text: '/js/angular2/text.js'
}
}
我使用文本插件来加载我的 html 视图,它们确实可以正常加载,但是我仍然收到下面提到的这个错误,这是为什么?
"text.js:4 Uncaught ReferenceError: exports is not defined(anonymous function)"
整个text.js 文件非常简单:
(function(System, SystemJS) {(function(require, exports, module, __filename, __dirname, global, GLOBAL) {/*
Text plugin
*/
exports.translate = function(load) {
return 'module.exports = "' + load.source
.replace(/(["\\])/g, '\\$1')
.replace(/[\f]/g, "\\f")
.replace(/[\b]/g, "\\b")
.replace(/[\n]/g, "\\n")
.replace(/[\t]/g, "\\t")
.replace(/[\r]/g, "\\r")
.replace(/[\u2028]/g, "\\u2028")
.replace(/[\u2029]/g, "\\u2029")
+ '";';
}
}).apply(__cjsWrapper.exports, __cjsWrapper.args);
})(System, System);
第 4 行,确实是 exports.translate。我找不到text.js 的选项来指定我没有使用 NodeJS,那么我该如何解决这个问题?
【问题讨论】:
-
你想用commonjs还是systemjs api来实现你的模块?
-
Angular2 是具有寄存器格式的 SystemJS。但是,Angular2 的源代码本身是用
register格式编写的。所以是的,我正在尝试使用 SystemJS api。
标签: typescript angular systemjs