在create-react-app cli项目中,使用下面的配置将src
的所有导入路径设置为基本url
jsconfig.json
{
"compilerOptions": {
"jsx": "react",
"baseUrl": "src/",
"paths": {
"~/*": ["./*"]
}
}
}
package.json
..
"scripts": {
"start": "react-scripts start",
"build": "react-scripts --max_old_space_size=4096 build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
所有我想使用的导入语句如下:
import { PanelHeader } from '@/components/panel';
而不是这样:
import { PanelHeader } from '../../../components/panel';
2条答案
按热度按时间t9eec4r01#
通过检查CRA上的绝对导入,您可以看到两件事:
(1)将
baseUrl
设置为src
(2)从名为
components
的文件夹(src
文件夹的子文件夹)导入元件时使用components/..
示例-
import Button from 'components/Button';
所以,去掉
@/
部分。eagi6jfj2#
您需要将它添加到您的webpack配置和jsconfig文件中。
安装以下程序包,
npm install customize-cra react-app-rewired
然后在根项目中创建一个
config-overrides.js
,并添加以下内容:将以下内容添加到jsconfig.json中,
您必须使用
react-app-rewired
来启动项目或将其添加到package.json
脚本中,npx react-app-rewired start
或