我第一次尝试使用 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>
什么也没有发生。我没有看到我的警报。我究竟做错了什么?