react配置-craco路径使用@符


配置@符替代src并提供路径提示效果

配置路径别名

目的:配置@路径别名简化路径处理

  1. 安装包。npm i -D @craco/craco

  2. 在项目根目录下,创建配置文件:craco.config.js

    在配置文件中就可以做自定义的修改,例如:配置路径别名

    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')
        },
      },
    }
    
  3. 修改 package.json 中的脚本命令

    package.json 中:

    // 将 start/build/test 三个命令修改为 craco 方式
    "scripts": {
      "start": "craco start",
      "build": "craco build",
      "test": "craco test",
      "eject": "react-scripts eject"
    },
    
  4. 重启项目,让配置生效

@别名路径提示

目的:能够让vscode识别@路径并给出路径提示

因为项目使用了 TS,而 TS 带有配置文件 tsconfig.json。VSCode 会自动读取 tsconfig.json 中的配置,让 vscode 知道 @ 就是 src 目录

  1. 创建 path.tsconfig.json 配置文件

  2. 在该配置文件中添加以下配置

    path.tsconfig.json

{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}
  1. tsconfig.json 中导入该配置文件,让配置生效

    tsconfig.json 中

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