【发布时间】:2019-10-16 16:13:58
【问题描述】:
我在使用 create-react-app 和 craco 设置 webpack 别名路径时遇到问题,我已经在谷歌上搜索过但无法解决问题。
每次我使用命令yarn start 运行应用程序时都会收到错误Module not found: Can't resolve '@app/App' in 'C:\ReactSandbox\my-project\src
重现步骤:
create-react-app my-projectcd my-projectyarn add @craco/craco-
cat > craco.config.js(见下面的配置) - 将 package.json 上“脚本”部分的
react-scripts替换为craco(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/"),
}
}
}
};
src/index.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
预期
我避免调用相对路径地狱,而不是像../../../../FilterComment.js 这样的导入模块,写@app/FilterComment.js 会很干净
【问题讨论】:
标签: javascript reactjs webpack