React项目配置路径别名“@”

React项目配置路径别名"@"

首先安装craco

bash 复制代码
npm i @craco/craco@alpha -D
npm i npm i craco-less

创建craco.config.js

bash 复制代码
const path = require('path')
const CracoLessPlugin = require('craco-less')

const resolve = (dir) => path.resolve(__dirname, dir)

module.exports = {
  plugins: [
    {
      plugin: CracoLessPlugin,
      options: {
        lessLoaderOptions: {
          lessOptions: {
            // modifyVars: { '@primary-color': '#1DA57A' },
            javascriptEnabled: true
          }
        }
      }
    }
  ],
  webpack: {
    alias: {
      '@': resolve('src'),
      components: resolve('src/components')
    }
  }
}

修改tsconfig.json

bash 复制代码
{
  "compilerOptions": {
    .......加上如下两个配置(删掉这个)
    "baseUrl": "src",
    "paths": {
      "@/*": ["*"]
    }
  },
  "include": [
    "src"
  ]
}

修改package.json 使用craco启动项目

bash 复制代码
 "scripts": {
    "start": "craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "react-scripts eject"
  },

最后启动成功后可能会出现问题 提示你 babel-preset-react-app 未在其依赖中声明

你需要继续安装

bash 复制代码
npm install --save-dev @babel/plugin-proposal-private-property-in-object
相关推荐
We་ct10 小时前
LeetCode 125. 验证回文串:双指针解法全解析与优化
前端·算法·leetcode·typescript
帅得不敢出门10 小时前
Android Framework在mk中新增类似PRODUCT_MODEL的变量并传递给buildinfo.sh及prop属性中
android·linux·前端
小码吃趴菜11 小时前
【无标题】
前端·chrome
毕设源码-朱学姐12 小时前
【开题答辩全过程】以 基于HTML5的购物网站的设计与实现为例,包含答辩的问题和答案
前端·html·html5
梦65012 小时前
CSS 元素垂直水平居中的 8 种方法
前端·css
We་ct12 小时前
LeetCode 68. 文本左右对齐:贪心算法的两种实现与深度解析
前端·算法·leetcode·typescript
ShoreKiten12 小时前
ctfshow-web316
运维·服务器·前端
前端 贾公子12 小时前
release-it 使用指南
前端·javascript
全栈技术负责人13 小时前
前端团队 AI Core Workflow:从心法到落地
前端·人工智能·状态模式
前端 贾公子13 小时前
深入浅出 CSS 属性:pointer-events: none
前端·css