如何将 Babel 插件添加到 create-react-app 项目?

How do I add a Babel plugin to a create-react-app project?

我正在关注 LearnCode.academy 视频教程和视频 #7 tutor/presenter 在某个时候添加以下代码

@connect((store) => {
    return {user: store.user.user, tweets: store.tweers.tweers}
})

我知道我需要通过添加 babel-plugin-transform-decorators-legacy 来配置 Webpack,但是 create-react-app 没有显示任何配置文件。这里的解决方案是什么?

在这种情况下,您需要运行 eject script 获取所有配置,并将其更改为默认值(这是不可逆的,之前备份尝试!)。为此,运行:

npm run eject

这应该将所有配置文件添加到您的项目中,例如您可以在其中添加插件的 Babel。

虽然您可以 弹出装饰器,但完全没有必要,而且弹出会带来所有缺点(您不会自动获得工具的未来更新)。

相反,我建议要么使用不依赖于实验性功能(目前是装饰器)的学习资源,要么学习如何在没有它们的情况下编写等效代码。

例如:

class MyComponent extends React.Component {
  // ...
}

export default connect((store) => {
    return {user: store.user.user, tweets: store.tweers.tweers}
})(MyComponent);

如果您不知道如何在没有装饰器的情况下编写一些示例,请创建一个新问题并在评论中 link,我会尽力回答。