create-react-app less 常规问题处理锦囊妙计
2023-09-13 05:53:28
- Ant Design iconfont 图标丢失问题
问题
在 create-react-app 项目中使用 Ant Design 时,iconfont 图标可能无法正常显示,控制台可能会出现类似以下的错误信息:
GET http://at.alicdn.com/t/font_1837492_a9ikso10ft.css net::ERR_NAME_NOT_RESOLVED
解决方案
此问题是由 Ant Design 默认使用 iconfont.cn 托管的 iconfont 文件引起的,如果网络环境无法访问此域,则无法加载图标。有两种解决方案:
-
修改 iconfont CDN 地址
打开项目中的
src/App.less
文件,找到以下代码:@import "~antd/dist/antd.less";
将
~antd/dist/antd.less
替换为~antd/dist/antd.dark.less
:@import "~antd/dist/antd.dark.less";
保存文件并重新启动项目,图标应该可以正常显示了。
-
下载并本地引用 iconfont 文件
从 iconfont.cn 下载最新的 iconfont 文件,然后将其复制到项目中的
src
文件夹中,文件名可以为iconfont.css
。打开
src/App.less
文件,将以下代码添加到顶部:@import "./iconfont.css";
保存文件并重新启动项目,图标应该可以正常显示了。
2. less 样式报错
问题
在项目中使用 less 时,可能会遇到样式报错,比如:
Module build failed (from ./node_modules/antd/dist/antd.less):
Syntax Error: Unexpected token (20:1)
20 | cursor: pointer;
| ^
解决方案
此问题可能是由于 less 版本不兼容导致的,请尝试以下解决方案:
-
更新 less 版本
确保您使用的 less 版本是最新的,可以通过以下命令更新 less:
npm install -g less
-
修改 less 配置
打开项目中的
package.json
文件,找到less
依赖项,将version
字段修改为^4.1.0
或更高版本:"less": { "version": "^4.1.0" }
保存文件并重新启动项目,样式报错应该可以消失了。
3. create-react-app 无法正常启动
问题描述
在运行 npm start
命令后,项目无法正常启动,控制台可能会出现类似以下的错误信息:
Module not found: Can't resolve 'less' in '/path/to/project/node_modules/antd'
解决方案
此问题可能是由于 less 没有正确安装导致的,请尝试以下解决方案:
-
安装 less
确保您已经安装了 less,可以通过以下命令安装 less:
npm install less -D
-
添加 less 配置
打开项目中的
package.json
文件,找到scripts
字段,添加以下配置:"scripts": { "start": "lessc src/App.less src/App.css && react-scripts start" }
保存文件并重新启动项目,项目应该可以正常启动了。
总结
本文介绍了在 create-react-app 项目中使用 less 时可能遇到的常见问题以及对应的解决方案。希望对您有所帮助。如果您还有其他问题,请随时提问。