近来闲暇想自己搭建项目,因为工作中使用的都是react+TypeScript+Less,都是已经搭建好的框架,所以就自己搭脚手架试试,结果发现网上的文章都不太全,自己也走了一些弯路,所以就小记录一下,万一后面又想玩一下呢?
- 创建一个名为test的项目
npx create-react-app test --template typescript
这就完成了react+typescript了,接下来就是剩下less的引用以及配置了
首先在src下面新建一个App.less,在App.tsx中引入这个样式,你会发现不生效,这是因为使用less需要配置
- 安装less
npm install less less-loader --save-dev
- 首先需要将react的配置暴露出来(这个是不可逆的)
npm run eject
或者
yarn eject
如果报错,则输入下面的代码即可
git add .
git commit -m 'save'
npm run eject
打开config文件夹下面的wekpack.config.js
在具体配置看这里 blog.csdn.net/qq_43604714…
配置完就可以使用
import './App.less'
这种形式使用了。但是既然是用less。当然是用它模块化更方便啦,还可以结合classnames这个库一起使用,以上的配置还不能将.less文件导出,还要继续再配置, 具体看这个博主的blog.csdn.net/u011423258/… 重点是这个博主里的less模块化配置那段代码
做到这里你是不是以为差不多了,你在项目用到处的形式会发现react不承认.less的文件
import styles from './App.less'
你还会发现 ./App.less 下方有红线,而且不起作用,还去要去src下的 react-app-env.d.ts文件添加下一下配置
declare module "*.less" { const classes: {readonly [key: string] : string } export default classes; }
到此为止,就可以使用less的模块化了,百度查查找找,都不齐全,这下算全了,记录一下第一次想记笔记的激动