注: 文章摘自 Joeny - 思否
使用 create-react-app
创建的项目默认不支持 less, 所以要手动配置
暴露配置文件
create-react-app
生成的项目文,看不到 webpack 相关的配置文件,需要先暴露出来,使用如下命令即可
npm run eject
安装 less-loader 和 less
npm install less-loader less --save-dev
修改 webpack 配置
webpack.config.js
- 在
exclude
数组中增加/\.less$/
{
loader: require.resolve('file-loader'),
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/, /\.less$/],
options: {
name: 'static/media/[name].[hash:8].[ext]',
}
}
- 在
oneOf
数组末尾添加下面对象
const autoprefixer = require('autoprefixer');
{
test: /\.(css|less)$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1
}
},
{
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebookincubator/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
autoprefixer({
browsers: [
'>1%',
'last 4 versions',
'Firefox ESR',
'not ie < 9', // React doesn't support IE8 anyway
],
flexbox: 'no-2009'
})
]
}
},
{
loader: require.resolve('less-loader') // compiles Less to CSS
}
]
}
网友评论