【问题标题】:Ant Design Fails With babel-plugin-import and create-react-app-rewiredAnt Design 因 babel-plugin-import 和 create-react-app-rewired 而失败
【发布时间】:2019-06-20 07:45:03
【问题描述】:

我正在关注 Ant Design 的 minimizing library size 指南。

我已经安装了“react-app-rewired”、“customize-cra”和“babel-plugin-import”。这是我的完整 package.json 文件:

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "antd": "^3.10.0",
    "react": "^16.5.1",
    "react-dom": "^16.5.1",
    "react-infinite-scroller": "^1.2.2",
    "react-scripts": "1.1.5"
  },
  "scripts": {
    "analyze": "source-map-explorer build/static/js/main.*",
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "proxy": "http://localhost:3001",
  "devDependencies": {
    "babel-plugin-import": "^1.11.0",
    "customize-cra": "^0.2.10",
    "react-app-rewired": "^2.0.2",
    "source-map-explorer": "^1.6.0"
  }
}

我还有一个 config-overrides.js 文件:

const { override, fixBabelImports } = require('customize-cra');
module.exports = override(
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: 'css',
    }),
);

但是,“启动”命令失败并出现以下错误:

/home/vedantroy/Programming/app_name/client/node_modules/customize-cra/index.js:49
  getBabelLoader(config).options.plugins.push(plugin);
                        ^

TypeError: Cannot read property 'options' of undefined
    at Object.config (/home/vedantroy/Programming/app_name/client/node_modules/customize-cra/index.js:49:25)
    at Object.webpack (/home/vedantroy/Programming/app_name/client/node_modules/lodash.flow/index.js:177:42)
    at Object.<anonymous> (/home/vedantroy/Programming/app_name/client/node_modules/react-app-rewired/scripts/start.js:22:15)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)

如何解决此错误/可能的原因是什么?我很确定我完全按照 Ant Design 的指南进行操作。

【问题讨论】:

    标签: reactjs webpack create-react-app antd babel-loader


    【解决方案1】:

    看起来您正在使用react-scripts@1.x,您需要react-app-rewired@1.6.2更改上述版本并按照提到的步骤操作@ https://www.npmjs.com/package/react-app-rewire-antd-theme

    它将开始工作。

    注意:customize-crareact-app-rewired@2.x

    【讨论】:

      【解决方案2】:

      可以使用customize-crauseBabelRc()函数,在.babelrc中可以为antd编写babel config。

      【讨论】:

        猜你喜欢
        • 2019-06-16
        • 2019-07-08
        • 2018-09-16
        • 2019-01-16
        • 2018-09-10
        • 2018-06-06
        • 2019-10-29
        • 2020-05-11
        • 1970-01-01
        相关资源
        最近更新 更多