create-react-app不暴露webpack配置如何新增配置
很多人都使用create-react-app进行创建react项目,但是webpack5默认是不显示webpack.config.js文件的,那么如果我们需要新增配置怎么办呢。首先想到的肯定是执行eject 暴露配置文件,这当然是可行的,然而这会导致配置文件完全暴露。我们并不需要修改原有配置,只需要在此基础上新增即可。customize-cra 就能做到。
customize-cra的使用
以配置less支持为例:
npm install customize-cra react-app-rewired --dev
首先安装依赖。
与package.json同级目录下新增 config-overrides.js文件
安装less依赖
yarn add babel-plugin-import less less-loader -d
开始config-overrides.js配置:
const webpack = require('webpack')
const WebpackBar = require('webpackbar')
const { override, addWebpackPlugin,adjustStyleLoaders,addLessLoader, addWebpackAlias } = require('customize-cra')
const path = require('path')
module.exports = {
webpack: override(
addWebpackAlias({
'@': path.resolve(__dirname, './src')
}),
addWebpackPlugin(new webpack.ProgressPlugin()),
addLessLoader({
lessOptions: {
localIdentName: '[local]--[hash:base64:5]'
}
}),
adjustStyleLoaders(({ use: [, , postcss] }) => {
const postcssOptions = postcss.options;
postcss.options = { postcssOptions };
})
)
}
启动脚本改成 react-app-rewired
然后重启服务,less就可以使用了。新增其他配置类似