使用 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 //修改处 } ] ] }