Babel 6 预设选择让 babel 工作
Babel 6 preset selection to get babel working
我将 babel 6 与 react 插件一起使用,并按照文档说明设置转译过程。我读过要让 React 工作,我需要使用 es2015
和 React preset
。最初使用这两个预设一切正常。
但是当我从 babel 的 website(属性 初始值设定项)复制示例代码时
为了测试新的语言功能,我在转译以下代码时遇到错误,因此无法再转译代码。
// The ES6+ way
class Video extends React.Component {
static defaultProps^= { // this is line 42 and ^ the column where error occurs
autoPlay: false,
maxLoops: 10,
}
static propTypes = {
autoPlay: React.PropTypes.bool.isRequired,
maxLoops: React.PropTypes.number.isRequired,
posterFrameSrc: React.PropTypes.string.isRequired,
videoSrc: React.PropTypes.string.isRequired,
}
state = {
loopsRemaining: this.props.maxLoops,
}
}
Warning: [...]components/sectorList.js: Unexpected token (42:24) Use --force to continue.
经过很长时间的调试,我通过加载 babel 的 stage-0
预设解决了这个问题。但这只是运气。
所以我找不到答案的问题是:
如何判断正确的预置集合的正确方法。
或者是意外标记...警告主要是缺少预设的通知?
感谢您的帮助
如果您查看预设的 babel 页面,它会列出所有包含的转换。在这种情况下,您使用的是 class 属性,该属性当前处于第 1 阶段,因此包含在 stage 1 preset.
中
在 ES2015 中,您将使用构造函数来设置默认值。
我将 babel 6 与 react 插件一起使用,并按照文档说明设置转译过程。我读过要让 React 工作,我需要使用 es2015
和 React preset
。最初使用这两个预设一切正常。
但是当我从 babel 的 website(属性 初始值设定项)复制示例代码时 为了测试新的语言功能,我在转译以下代码时遇到错误,因此无法再转译代码。
// The ES6+ way
class Video extends React.Component {
static defaultProps^= { // this is line 42 and ^ the column where error occurs
autoPlay: false,
maxLoops: 10,
}
static propTypes = {
autoPlay: React.PropTypes.bool.isRequired,
maxLoops: React.PropTypes.number.isRequired,
posterFrameSrc: React.PropTypes.string.isRequired,
videoSrc: React.PropTypes.string.isRequired,
}
state = {
loopsRemaining: this.props.maxLoops,
}
}
Warning: [...]components/sectorList.js: Unexpected token (42:24) Use --force to continue.
经过很长时间的调试,我通过加载 babel 的 stage-0
预设解决了这个问题。但这只是运气。
所以我找不到答案的问题是:
如何判断正确的预置集合的正确方法。
或者是意外标记...警告主要是缺少预设的通知?
感谢您的帮助
如果您查看预设的 babel 页面,它会列出所有包含的转换。在这种情况下,您使用的是 class 属性,该属性当前处于第 1 阶段,因此包含在 stage 1 preset.
中在 ES2015 中,您将使用构造函数来设置默认值。