我正在为我的 React 项目的构建管道使用带有 ESbuild-loader 的 Webpack5。为了将我的组件连接到 Redux 商店,我使用@connect
装饰器而不是使用 HOC 方法。
例子:MyComponent.jsx
@connect((state) => ({
notes: state.notes,
}))
class MyComponent extends PureComponent {
static propTypes = {
notes: PropTypes.arrayOf(PropTypes.object),
};
...
}
这是我的js/jsx
文件的 Webpack 配置规则:
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /(node_modules)/,
loader: 'esbuild-loader',
options: {
loader: 'jsx',
target: 'es2015',
},
},
当我尝试启动我的开发服务器时,我得到这个与 line 装饰器相关的错误被定义:
ERROR in ./project/MyComponent.jsx
Module build failed (from ./node_modules/esbuild-loader/dist/index.js):
Error: Transform failed with 1 error:
MyComponent.js:63:0: ERROR: Unexpected "@"
ESbuild 不懂装饰器吗?