Create React App + TS 项目配置路径别名

135 阅读1分钟

第一步

安装 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"]
}