react基础教程看了第N遍,始终还是应该上手练练。这不,刚开始第一个项目就倒腾了半天!写篇博客记录一下。
首先,创建一个react项目:create-react-app project-name
项目创建好了之后会自动安装依赖,完成直接npm start就可以运行了。但是在做练习的时候,由于我想把写css变成写less,所以开始了网上搜索之路(我的一贯作风——啰嗦)。
好啦,具体需要分几步配置:
1. 配置webpack.config.js文件
网上都说配置webpack.config.js文件,然后我去找,一脸懵逼地回来了,网上搜了小半天这文件去哪儿了,才有靠谱的跟我说因为react项目的配置,这些配置都是内置的,需要先将各种配置暴露出来(一通胡说八道,更专业的说法请去搜索大神们的说辞)。所以第一步其实是先暴露这个东西。
重来 1. 暴露react配置
项目目录下执行 npm run eject
执行完了之后项目一下子就多了很多东西了,看得你眼花缭乱!先不管那些,反正我也看不懂。接下来就可以开始配置webpack.config.js了
当然项目内你要安装"less/less-loader"
2. 配置webpack.config.js
a. 找到 cssModuleRegex定义,新增变量:
const lessRegex = /\.less$/;
lessModuleRegex = /\.module\.less$/;
b. 请你善用 Ctrl+F 搜索一下之前的cssModuleRegex,定位过去,再另起一行按照上面的格式写就可以啦(我是因为项目创建的时候默认sass,我直接搜索的sass的配置差不多复制粘贴一下就完事儿)!
配置如下:
{
test: lessRegex,
exclude: lessModuleRegex,
use: getStyleLoaders({
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
},
'less-loader',
),
sideEffects: true,
},
{
test: lessModuleRegex,
use: getStyleLoaders({
importLoaders: 2,
sourceMap: isEnvProduction && shouldUseSourceMap,
modules: {
getLocalIdent: getCSSModuleLocalIdent,
},
},
'less-loader',
)
},
犹记得好像注意事项是less的配置必须要在sass前?我是这样配置的。