2016年ES6发布,Chrome Canary对新的ECMA脚本有93%的支持。
所以我尝试以ES6的方式使用模块。
像:
(http://exploringjs.com/es6/ch_modules.html#_default-exports-one-per-module)
Or a class:
//------ MyClass.js ------
export default class { ··· } // no semicolon!
//------ main2.js ------
import MyClass from 'MyClass';
const inst = new MyClass();
为了解决这个问题,我创建了一个index.html文件和两个像上面描述的文件,其中包含一些MyClass的简单内容,如:
constructor(name) {
this.name = name;
this.currentSpeed = 25;
}
所以我有:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<module src="MyClass.js"></module>
<script type="text/javascript" src="main2.js"></script>
</head>
<body>
<p>Hallo:)</p>
</body>
</html>
index.html中的
export default class {
constructor(name) {
this.name = name;
this.currentSpeed = 25;
}}
在MyClass.js和
中import MyClass from 'MyClass';
const inst = new MyClass();
在main2.js
中这对我不起作用。每次在main2.js中导入错误。 有人能帮助我吗?
答案 0 :(得分:1)
这里有两件事:
<script type=module src=modulescript.js>
在HTML中使用模块脚本。 (工作人员也new Worker("moduleworker.js", {type:"module"})
,但同样,还不支持。)