使用 create-react-app 脚手架创建项目后,默认是不支持 less 的。所以我们需要手动添加。
第一步 暴露webpack配置文件
使用 create-react-app 创建的项目,默认情况下是看不到 webpack 相关的配置文件,我们需要给它暴露出来,使用下面命令即可:
npm run eject
运行之后,我们发现多了一个config文件夹
这样就可以修改 webpack 相关配置了。
第二步 添加less
在项目根目录 使用 npm 或者 yarn 来安装 less 和 less-loader,我这里使用的是 yarn
yarn add less less-loader
第三步 修改webpack配置文件
我们需求修改 webpack.config.dev.js 和 webpack.config-prod.js 这两个配置文件
- const cssRegex = /\.css$/; 改为 /.(css|less)$/
- getStyleLoaders 的 loaders数组配置增加 less-loader
const cssRegex = /\.(css|less)$/;
const loaders = [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: cssOptions,
},
{
// Options for PostCSS as we reference these options twice
// Adds vendor prefixing based on your specified browser support in
// package.json
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebook/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
require('postcss-preset-env')({
autoprefixer: {
flexbox: 'no-2009',
},
stage: 3,
}),
],
},
},
{
loader: require.resolve('less-loader') // compiles Less to CSS
}
];
重新运行项目,引入less,Ok。