在新版本的react中分别添加sass与less支持,注意是用create-react-app脚手架工具创建的项目。
添加sass支持
添加sass支持非常简单,只需要执行以下命令安装node-sass即可,如果不生效,请重启项目。
npm i node-sass --save
添加less支持
添加less支持稍微有点麻烦,因为对sass的支持在create-react-app脚手架中已经配置好了,但是less的没有配置,需要我们手动配置,请按照以下步骤:
安装less和less-loader
npm i less less-loader --save
释放eject
npm run eject
此命令会在当前目录下生产config文件夹
修改配置文件
打开/config/webpack.config.js文件,找到以下代码:
// Adds support for CSS Modules, but using SASS
// using the extension .module.scss or .module.sass
{
test: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
modules: true,
getLocalIdent: getCSSModuleLocalIdent,
},
'sass-loader'
),
},
// **********
//**********
// **********
// "file" loader makes sure those assets get served by WebpackDevServer.
// When you `import` an asset, you get its (virtual) filename.
// In production, they would get copied to the `build` folder.
// This loader doesn't use a "test" so it will catch all modules
// that fall through the other loaders.
在以上代码中,原来的代码是没有,只是为了突出这个位置,可以看到已经配置好了sass,把*替换为以下代码,然后重启即可。
// 添加less-loader
{
test: /\.less$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
},
},
{
loader: require.resolve('less-loader') // compiles Less to CSS
}
],
},
以上。