ES6:类:无法使外部JS类工作

时间:2017-03-31 23:00:43

标签: javascript class ecmascript-6 es6-class

就这样我很清楚,这就是我所拥有的,也许有人可以证实。

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

0 个答案:

没有答案