第一步
安装 craco 并在 craco.config.js 中新增如下配置
const WebpackBar = require("webpackbar");
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
const path = require("path");
module.exports = {
webpack: {
plugins: [
new WebpackBar({ profile: true }),
process.argv[2] === "--analyze" && new BundleAnalyzerPlugin(),
].filter(Boolean),
// 新增的代码
alias: {
"@": path.resolve(__dirname, "src"),
},
},
};
第二步
在 tsconfig.json 中新增如下配置
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
// 新增的配置代码
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src", "types"]
}