Last updated
npm i @babel/core @babel/preset-env babel-loader -Dmodule.exports = {
module: {
rules: [
// Babel 파일 로더 설정
{
test: /\.m?js$/i,
exclude: /node_modules/,
use: {
loader:'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
}npm run bundleclass Button {
constructor(props) {
this.props = { ...props }
}
// ES 표준에 제안된 정적 클래스 속성 구문
static defaultProps = {
type: 'button',
}
render(domNode = document.body) {
// 속성 병합(mixins)
const buttonNode = createElement('button', {
...this.defaultProps,
...this.props,
})
render(buttonNode, domNode)
}
}
export default Button
11 | }
12 |
> 13 | defaultProps = {
| ^
14 | type: 'button',
15 | }
16 |npm i @babel/plugin-proposal-class-properties -Dmodule.exports = {
module: {
rules: [
{
test: /\.m?js/i,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
presets: ['@babel/preset-env'],
// Babel 플러그인 설정
plugins: ['@babel/plugin-proposal-class-properties']
}
}
]
}
}webpack 5.22.0 compiled successfully in 921 ms