1. 程式人生 > >二、create-react-app自定義配置

二、create-react-app自定義配置

這裡主要講解新增less  和  實現Antd按需載入

首選需要執行npm run eject 暴露所有內建的配置 ,這是後面所有配置的基礎,這個必須優先執行!

一、實現Antd按需載入

按需載入外掛。只需要引入模組即可,無需單獨引入樣式。

import {Button} from 'antd';
ReactDom.render(
<div>
  <Button>
    XXXX
  </Button>
</div>);

 1. 使用babel-plugin-import實現Antd按需載入,修改package.json,或者在專案根目錄新建檔案.babelrc寫配置,注意是二選一。

首先執行以下命令安裝 babel-plugin-import

npm install babel-plugin-import --save-dev

1)、修改package.json

"babel": {
    "presets": [
      "react-app"
    ],
    "plugins": [
      [
        "import",
        {
          "libraryName": "antd",
          "style": true
        }
      ]
    ]
  }

2)、修改.babelrc

{
   "presets": [
      "react-app"
    ],
    "plugins": [
      [
        "import",
        {
          "libraryName": "antd",
          "style": true
        }
      ]
    ]
}

注意: 不要認為package.json裡已有presets配置這裡就不用寫,這裡的.babelrc會覆蓋package.json裡帶有的babel配置,如果刪除presets配置,會報錯。

二、引入Less

1)安裝less-loader 和 less

 

npm install less-loader less --save-dev

2)修改config資料夾下的webpack.config.dev.js和webpack.config.prod.js檔案(都需要修改)
查詢 :exclude
原本的 exclude: [/\.js$/, /\.html$/, /\.json$/],
修改為 exclude: [/\.html$/, /\.(js|jsx)$/, /\.(css|less)$/, /\.json$/, /\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],

查詢:test: /.css$/
原本的 test: /\.css$/,
修改為 test: /\.(css|less)$/,

在這個test的下面找到use,新增loader

use: [  
    {...},
    {...},
    {
      loader: require.resolve('less-loader') // compiles Less to CSS
    }
  ]

 

 參考地址:

https://blog.csdn.net/zhaoyu_m69/article/details/78800887

https://segmentfault.com/a/1190000012881473

https://blog.csdn.net/qq_35809834/article/details/72670220