React+TypeScript+Less,从0到1

313 阅读2分钟

近来闲暇想自己搭建项目,因为工作中使用的都是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的模块化了,百度查查找找,都不齐全,这下算全了,记录一下第一次想记笔记的激动