在许多代码中,我看到了这样的表达:
require('babel-polyfill').default;
属性默认是什么意思,我可以在哪里找到可以应用于babel-polyfill的所有属性,因为我没有在Babel官方文档中看到这个选项的用法。
答案 0 :(得分:2)
这是一个ES6模块约定,有人正在设置"默认"将模块导出到特定对象。在ES6语法中,它等同于:
import Module from 'babel-polyfill'
将从babel-polyfill中取出默认导出,并将其作为Module
放在当前文件中。
在babel-polyfill库内部,他们正在做
exports.default = { some: 'Object' }
这与命名导出不同,您希望从库中公开特定的命名事物:
exports.someThing = 'value';
...
import { someThing } from 'that-module';
您可以console.log
require('babel-polyfill')
和require('babel-polyfill').default
的结果来查看更多内容。但是,babel polyfill主要在全局命名空间中提供polyfill,并修改像Array这样的原生原型,并且你不能直接使用它中的任何东西。只需要它就有副作用,可以在运行的Javascript环境中添加正确的polyfill。