在React中也能使用路径别名,你知道吗?

743 阅读1分钟

配置路径别名

安装修改 CRA 配置的包:

npm i -D @craco/craco

步骤

  1. 在项目根目录中创建 craco 的配置文件:craco.config.js,并在配置文件中配置路径别名
  2. 修改 package.json 中的脚本命令
  3. 在代码中,就可以通过 @ 来表示 src 目录的绝对路径
  4. 重启项目,让配置生效

核心代码

craco.config.js 中:

const path = require('path')

module.exports = {
  // webpack 配置
  webpack: {
    // 配置别名
    alias: {
      // 约定:使用 @ 表示 src 文件所在路径
      '@': path.resolve(__dirname, 'src'),
      // 约定:使用 @scss 表示 样式 文件所在路径
      '@scss': path.resolve(__dirname, 'src', 'assets', 'styles')
    },
  },
}

package.json 中:

// 将 start/build/test 三个命令修改为 craco 方式

"scripts": {
  "start": "craco start",
  "build": "craco build",
  "test": "craco test",
  "eject": "react-scripts eject"
}

别名路径提示

分析

举例在React+Ts项目中,而 TS 带有配置文件 tsconfig.json。VSCode 会自动读取 tsconfig.json 中的配置,让 vscode 知道 @ 就是 src 目录

步骤

  1. 创建 path.tsconfig.json 配置文件
  2. 在该配置文件中添加以下配置
  3. tsconfig.json 中导入该配置文件,让配置生效

核心代码

path.tsconfig.json 中:

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}

tsconfig.json 中:

{
  // 导入配置文件
  "extends": "./path.tsconfig.json",
}