例如支援物件擴充套件運算子
let foo = {
a: 1,
b: 2
}
let bar = {c: 3, ...foo}
複製程式碼
或者支援 class 裡直接賦值變數
class Foo extends React.Component {
state = {
a: 1
}
render() {
return (<div>a: {this.state.a}</div>)
}
}
複製程式碼
一般來說,這種新特性,正常來說 runtime 是不支援的,因此額外安裝下面這個
npm install --save babel-preset-stage-2
複製程式碼
然後配置 .babelrc
檔案:
{
"presets": [
"babel-preset-env",
"stage-2"
],
"plugins": [
"transform-runtime"
]
}
複製程式碼
即可。
注:
- 通常安裝到 stage-2 就足夠了,如果還不行,再安裝 stage-1 或者 stage-0 (越小越新);
- 安裝這個對體積影響不大,我自己在 React 專案裡測試,新增了上面兩段程式碼後,並新增
"stage-2"
配置,體積大約增加了 2KB;
DEMO: