我尝试从Mozilla Hacks重复例如(导出列表字幕)之前:出口对象和类的声明使得他们不确定
//export.js
export {detectCats, Kittydar};
function detectCats() {}
class Kittydar {}
//import.js
import {detectCats, Kittydar} from "./export.js";
console.log(detectCats); // function detectCats() {}
console.log(Kittydar); // undefined
哎呀:Kittydar是不确定的(顺便说一句,这个问题是相同的简单的Object
)。
但是,如果我以后Kittydar
声明把export
它的确定:
//export.js
class Kittydar {}
export {Kittydar};
//import.js
import {Kittydar} from "./export.js";
console.log(Kittydar); // function Kittydar() {_classCallCheck(this, Kittydar);}
这是在文章中错字?
我transpile这与babel
与browserify
捆绑。然后我在通常的.html
文件中包含输出包(使用<script>
标签)。
由于没有支持ES6模块的JavaScript环境,我假设您正在使用转换器将ES6模块转换为另一个模块系统。在这种情况下,该转译器似乎不能正确处理类。 AFAIK你应该根据ES6规范工作。 –
嗯......我使用'grunt-babel @ 5.0.1',它使用'babel-core @ 5.8.23'。好吧,我要用纯粹的和最后的'babel'版本来检查它。 – mqklin
@FelixKling,我用最新的'babel @ 6.3.26'和'browserify @ 12.0.1'重复了它。同样的行为。它可能是一个错误? – mqklin