【问题标题】:Accessing a class defined in one ES6 file from another, using traceur使用 traceur 从另一个 ES6 文件中访问定义在一个 ES6 文件中的类
【发布时间】:2014-09-14 18:52:12
【问题描述】:

我正在尝试在 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 中可见?

我也尝试将MyClass 分配给window 对象,但这也不起作用。

【问题讨论】:

    标签: javascript ecmascript-6 traceur


    【解决方案1】:

    我找到了一种方法

    在 main.js 中

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-05
      • 2018-07-04
      • 2017-05-02
      • 2016-03-05
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 1970-01-01
      相关资源
      最近更新 更多