1

我正在尝试在 traceur-compiler 的帮助下使用 ES6 语法。

这是我的 index.html。

<script type="text/javascript" src="traceur-compiler/bin/traceur.js"></script>
<script type="text/javascript" src="traceur-compiler/src/bootstrap.js"></script>
<script>
  traceur.options.experimental = true;
</script>

<script type="module" src="src/myclass.js"></script>

<script type="text/javascript" src="src/main.js"></script>

这是我的 myclass.js

'use strict';
class MyClass {
}

var localmc = new MyClass(); // Works

这是我的 main.js

'use strict';
window.onload = function () {
  var mc = new MyClass(); // Throws error, Why?
}

如何使 MyClass 在 main.js 中可见?

我也尝试分配MyClasswindow对象,但这也不起作用。

4

1 回答 1

0

我找到了一种方法来做到这一点

在 main.js

'use strict';
window.onload = function () {
  System.import('src/myclass').then(function (myclass) {
    var mc = new myclass.MyClass(); // works
  });
}

我想,当一个合适的模块系统在 ES6 的浏览器中实现时,这个机制将不得不被替换。但现在应该这样做。

于 2014-09-15T04:32:20.137 回答