就这样我很清楚,这就是我所拥有的,也许有人可以证实。
1)在HTML文件中定义的ES6类可以正常工作。 let x = new glob(213); //效果很好
2)但是完全失败,一旦我将类glob代码移动到外部JS并引用它。新的水珠(213);失败。即使我通过Babel glob.js来创建ES5代码。
这是ES6课程的当前状态吗?我没有使用导入,但确实有导出。或者我是否需要使用捆绑器(如Webpack)将所有内容放入单个all.js中以使外部类工作?
如果这是当前的比赛状态,或者我过于苛刻,那就相当失望了。 (我们几十年来一直在使用外部文件。)
谢谢,来自一个沮丧的JS编码员。
内部版本
<body style="font-family: sans-serif; line-height: 2">
<p id="showResults" style="font-size: 20pt;"></p>
<script>
class glob {
constructor(mass) {
this.mass = mass;
}
getMass() {
return this.mass;
}
}
let gg = new glob(213);
let gm = gg.getMass();
showAll = " ";
showAll += `glob mass = ${gm}<br>`
document.getElementById("showResults").innerHTML = showAll;
</script>
</body>
外部版本
'use strict';
class glob {
constructor(mass) {
this.mass = mass;
}
getMass() {
return this.mass;
}
}
export default glob;
然后在HTML中
<body style="font-family: sans-serif; line-height: 2">
<p id="showResults" style="font-size: 20pt;"></p>
<script src="build/glob.js"></script>
<script>
alert(1); //Shows
let gg = new glob(213);
alert(2); // Never shows
和巴贝尔
npm run babel -silent -- --presets es2015 src/g*.js --out-dir build