【发布时间】:2014-10-19 19:34:45
【问题描述】:
我第一次尝试使用 ecmascript 6 模块系统。我使用 traceur 编译器。给定两个 es6 文件:
// app.js
export function row() {
alert('row');
}
// init.js
import { row } from 'public_js/app';
row();
Traceur(我使用 grunt-traceur 任务)将它们编译为:
// app.js
System.register("public_js/app", [], function() {
"use strict";
var __moduleName = "public_js/app";
function row() {
alert('row');
}
return {get row() {
return row;
}};
});
// init.js
System.register("public_js/init", [], function() {
"use strict";
var __moduleName = "public_js/init";
var row = System.get("public_js/app").row;
row();
return {};
});
我通过简单的脚本标签将 init.js 的编译版本包含到我的 HTML 中:
<script src="/path/to/compiled/init.js" type="module"></script>
然后什么也没有发生。我没有看到我的警报。我做错了什么?
【问题讨论】:
-
您只是声明它们,而不是要求它们。
-
尝试将 type="module" 添加到您的脚本标签?
-
@BrianGenisio 这是一个错字,在我的代码中我有类型模块,没有它脚本会抛出系统未定义的错误。
-
@Bergi 我怎样才能要求他们?
标签: javascript module amd ecmascript-6 traceur