使用 create-react-app 建立的項目,默認狀況下是看不到 webpack 相關的配置文件,咱們須要給它暴露出來,使用下面命令便可javascript
yarn eject
運行以後,咱們發現多了一個config文件夾,這樣就能夠修改 webpack 相關配置了。css
"babel": { "presets": [ "react-app" ], "plugins": [ [ "import", { "libraryName": "antd", "style": "css" } ] ] }
// style files regexes const cssRegex = /\.css$/; const cssModuleRegex = /\.module\.css$/; const lessRegex = /\.less$/; const lessModuleRegex = /\.module\.less$/; const sassRegex = /\.(scss|sass)$/; const sassModuleRegex = /\.module\.(scss|sass)$/;
//在大概466行會看到以下代碼 { test: sassModuleRegex, use: getStyleLoaders( { importLoaders: 2, sourceMap: isEnvProduction && shouldUseSourceMap, modules: true, getLocalIdent: getCSSModuleLocalIdent, }, 'sass-loader' ), }, //在此代碼後添加以下代碼 { test: lessRegex, exclude: lessModuleRegex, use: getStyleLoaders( { importLoaders: 2 }, 'less-loader' ), }, { test: lessModuleRegex, use: getStyleLoaders( { importLoaders: 2, modules: true, getLocalIdent: getCSSModuleLocalIdent, }, 'less-loader' ), },
//註釋掉大概114行 // if (preProcessor) { // loaders.push({ // loader: require.resolve(preProcessor), // options: { // sourceMap: isEnvProduction && shouldUseSourceMap, // }, // }); // } // return loaders; //替換爲以下 if (preProcessor) { let loader = require.resolve(preProcessor) if (preProcessor === "less-loader") { loader = { loader, options: { modifyVars: { //自定義主題 'primary-color': ' #1890ff ', }, javascriptEnabled: true, } } } loaders.push(loader); } return loaders;
"babel": { "presets": [ "react-app" ], "plugins": [ [ "import", { "libraryName": "antd", "style": true //修改處 } ] ] }