6

所以我正在尝试使用 react-native-web 运行 react-native。它需要添加一些 babel 插件。

我的应用是使用 react-app-rewired 创建的。我尝试了几种方法来添加 babel 插件,但是都没有成功。

我正在使用一个config-overrides.js看起来像这样的文件:

const { override, addBabelPlugins, addDecoratorsLegacy, fixBabelImports } = require('customize-cra');

const addHandleBarsLoader = config => {
    // add handlebars-loader so that handlebars templates in
    // webpack-dev-server's served html files are parsed
    // (specifically the meta tags)
    config.module.rules.push({ test: /\.html$/, loader: 'handlebars-loader' });
    return config;
}


module.exports = override(
    addHandleBarsLoader,
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true,
      }),addBabelPlugins('@babel/plugin-proposal-class-properties'),
);

我知道其他配置覆盖有效,但是 babel 一直忽略新插件(已安装,以及其他所有插件)。

此外,我正在通过 react-app-rewired 构建构建应用程序。

这是我在尝试构建时收到的错误消息

./node_modules/rn-bottom-drawer/src/BottomDrawer.js
SyntaxError: /Users/admin/Documents/Meirim/Workspace/meirim/node_modules/rn-bottom-drawer/src/BottomDrawer.js: Support for the experimental syntax 'classProperties' isn't currently enabled (13:20):

  11 |
  12 | export default class BottomDrawer extends Component{
> 13 |   static propTypes = {
     |                    ^
  14 |     /**
  15 |      * Height of the drawer.
  16 |      */

Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the 'plugins' section of your Babel configto enable transformation.

非常感谢(:

加尔

4

1 回答 1

7

addExternalBabelPlugin找到了解决方案,只需使用一个名为的函数

于 2020-02-06T14:51:27.037 回答