system.js es6模块无法启动

HMR*_*HMR 6 javascript systemjs es6-modules

根据入门我创建了一个名为main.js的文件:

 export class q {
    constructor() {
      this.es6 = 'yay';
    }
  }
Run Code Online (Sandbox Code Playgroud)

在我的html文件中得到:

<script src="system.js"></script>
<script>
  SystemJS.import('main.js')
  .then(null,(err)=>console.error(err))
</script>
Run Code Online (Sandbox Code Playgroud)

加载页面时,我得到:

错误:无法动态转换ES模块需要通过配置加载程序插件SystemJS.config({ transpiler: 'transpiler-module' }).实例化http:// localhost:8080/main.js 在system.js上的transpile(system.js:3650)加载main.js:3433 SystemJS.import.then @ index.html:17

我从这里得到的system.js文件:https://raw.githubusercontent.com/systemjs/systemjs/master/dist/system.src.js

使用Chrome中安装的缓存杀手插件从http-server(节点)运行静态内容.

不知道这是什么,但我会继续阅读文档,也许找到解决方案.虽然有点邋in它在"开始"时打破.

更新

我猜这与它有关:

https://github.com/jspm/jspm-cli/issues/1312

但是没有任何关于如何使错误消失的信息.代码在Chrome中运行,并且将由babel进行转换,只有部分我需要system.js用于开发期间加载模块.

更新

https://youtu.be/5P04OK6KlXA?t=3m3s

看起来像"入门"应该提到,为了工作的例子,也需要跟踪.

经过一番搜索,我在这里找到了traceur.js:http://google.github.io/traceur-compiler/bin/traceur.js

将html更改为:

<script src="traceur.js"></script>
<script src="system.js"></script>
<script>
  SystemJS.import('./main.js')
  .then(null,(err)=>console.error(err))
</script>
Run Code Online (Sandbox Code Playgroud)

它仍然是同样的错误.

更新

使用npm安装systemjs和traceur并将它们添加到html:

<script src="./node_modules/traceur/bin/traceur.js"></script>
<script src="./node_modules/systemjs/dist/system.js"></script>
Run Code Online (Sandbox Code Playgroud)

同样的错误.我已经完成了这个并恢复到requirejs用于开发,r.js用uglify进行分发.

在阅读了有关汇总的内容以及编译后的代码如何只导入您需要的内容而不是整个文件时,我们正在研究这个问题.