to use 更少的文件在使用创建的反应项目中创建反应应用程序按着这些次序:
npm run eject
npm i less less-loader
- 打开位于弹出脚本后创建的 config 文件夹中的 webpack.config.js 文件:
查看导出函数的返回值(这是主要配置)
找到最后添加的 style-loader 的位置,即 sass-loader
{
test: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 3,
sourceMap: isEnvProduction && shouldUseSourceMap,
modules: {
getLocalIdent: getCSSModuleLocalIdent,
},
},
'sass-loader'
),
},
并在 sass-loader 下添加 less-loader,如下所示:
{
test: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 3,
sourceMap: isEnvProduction && shouldUseSourceMap,
modules: {
getLocalIdent: getCSSModuleLocalIdent,
},
},
'sass-loader'
),
},
{
test: /\.less$/,
use: getStyleLoaders(
{
modules: true,
importLoaders: 3,
sourceMap: isEnvProduction && shouldUseSourceMap,
},
'less-loader'
),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
},
导入加载器less-loader 中的选项应该是 3。
两个装载机来自 getStyleLoaders + 我们的少加载器.
importLoaders 选项允许您配置在将 css-loader 应用于 @imported 资源之前有多少个加载器。
为什么模块选项是true?
// index.less file
.header {
background-color: skyblue;
}
如果你想使用这样的样式表文件:
import styles from './index.less';
<div className={styles.header}></div>
你应该设置模块:真
但如果你想像下面这样使用它:
import './index.less';
<div className="header"></div>
你应该设置模块:假