根据入门我创建了一个名为main.js的文件:
export class q {
constructor() {
this.es6 = 'yay';
}
}
在我的html文件中得到:
<script src="system.js"></script>
<script>
SystemJS.import('main.js')
.then(null,(err)=>console.error(err))
</script>
加载页面时,我得到:
错误:无法动态转换ES模块加载程序插件 需要通过
SystemJS.config({ transpiler: 'transpiler-module' })
进行配置。实例化http://localhost:8080/main.js 正在加载main.js 在transpile(system.js:3650) 在system.js:3433 SystemJS.import.then @ index.html:17
我从这里得到的system.js文件:https://raw.githubusercontent.com/systemjs/systemjs/master/dist/system.src.js
使用Chrome中安装的缓存杀手插件从http-server(节点)运行静态内容。
不确定这是什么,但我会继续阅读文档,也许找到解决方案。虽然它在“开始”时打破了它有点草率。
更新
我想这与它有关:
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>
它仍然是同样的错误。
更新
使用npm安装了systemjs和traceur并将它们添加到html:
<script src="./node_modules/traceur/bin/traceur.js"></script>
<script src="./node_modules/systemjs/dist/system.js"></script>
同样的错误。我已经完成了这个并恢复到requirejs用于开发,r.js用uglify进行分发。
在阅读了有关汇总的内容以及编译后的代码如何只导入您需要的内容而不是整个文件时,会对此进行调查。