我在使用create-react-app和craco设置webpack别名路径时遇到问题,已经使用谷歌搜索但无法解决问题。
Module not found: Can't resolve '@app/App' in 'C:\ReactSandbox\my-project\src
每次我使用命令运行应用程序时都会出错yarn start
重现步骤:
create-react-app my-project
cd my-project
yarn add @craco/craco
cat > craco.config.js
(见下面的配置)- 替换
react-scripts
为craco
package.json 上的“脚本”部分(craco start、craco build 等) - 编辑文件
src/index.js
(替换第 4 行,见下面的代码) yarn start
craco.config.js
const path = require("path");
module.exports = {
webpack: {
resolve: {
alias: {
"@app": path.resolve(__dirname, "src/"),
}
}
}
};
源代码/索引.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from '@app/App'; //replace './App' into '@app/App'
import * as serviceWorker from './serviceWorker';
ReactDOM.render(<App />, document.getElementById('root'));
serviceWorker.unregister();
当前结果
Module not found: Can't resolve '@app/App' in 'C:\ReactSandbox\my-project\src
预期的
我避免调用相对路径地狱,而不是像这样的导入module../../../../FilterComment.js
,写起来很干净@app/FilterComment.js