当前位置: 首页 > Web前端 > CSS

React16.8更改Webpack支持Lessfiles

时间:2023-03-31 11:41:40 CSS

创建项目目前最新的React版本是16.8.6使用create-react-app脚手架工具创建项目由于需要在项目中使用AntD暴露配置文件暴露webpack配置文件来配置less-loader,需要使用create-react-app脚手架工具提供的弹出命令,运行命令前需要提交项目,否则无法成功弹出项目。打开终端并运行yarneject命令(或npmruneject)。eject命令是一次性命令,运行后无法恢复。yarneject可以看到文件里多了一个config文件夹来配置less。接下来安装less和less-loader插件包。打开终端输入:cdyour-projectyarnaddlessless-loader打开config文件夹,找到webpack.config.js文件,打开。主要修改其中三个地方:1.修改样式文件regexes(样式文件正则化),找到注释样式文件regexes,在这部分末尾添加如下两行代码:constlessRegex=/\.less$/;constlessModuleRegex=/\.module\.less$/;2.修改getStyleLoaders函数,添加代码{loader:require.resolve('less-loader'),options:lessOptions,},3.添加如下代码,如下图{test:lessRegex,exclude:lessModuleRegex,use:getStyleLoaders({importLoaders:2,sourceMap:isEnvProduction&&shouldUseSourceMap,},'less-loader'),//不考虑即使//包含包声称没有副作用,CSS也会导入死代码。//当webpack为这个添加警告或错误时移除这个。//请参阅https://github.com/webpack/webpack/issues/6571sideEffects:true,},//添加对CSS模块的支持,但使用less//使用扩展名.module.scss或.module.less{test:lessModuleRegex,use:getStyleLoaders({importLoaders:2,sourceMap:isEnvProduction&&shouldUseSourceMap,modules:true,getLocalIdent:getCSSModuleLocalIdent,},'less-loader'),},至此修改完成,重新打包