Vue或者React项目配置@路径别名及智能提示方案

 更新时间:2023年10月13日 09:58:24   作者:codeMak1r.小新  
这篇文章主要介绍了Vue或者React项目配置@路径别名及智能提示方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

置别名路径

以create-react-app创建的React项目为例,带领大家配置@路径别名。

本节目标: 能够配置@路径简化路径处理

自定义 CRA 的默认配置

craco 配置文档

CRA 将所有工程化配置,都隐藏在了 react-scripts 包中,所以项目中看不到任何配置信息

如果要修改 CRA 的默认配置,有以下几种方案:

  • 通过第三方库来修改,比如,@craco/craco (推荐)
  • 通过执行 yarn eject 命令,释放 react-scripts 中的所有配置到项目中

实现步骤

  • 安装修改 CRA 配置的包:yarn add -D @craco/craco
  • 在项目根目录中创建 craco 的配置文件:craco.config.js,并在配置文件中配置路径别名
  • 修改 package.json 中的脚本命令
  • 在代码中,就可以通过 @ 来表示 src 目录的绝对路径
  • 重启项目,让配置生效

代码实现

craco.config.js

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

package.json

// 将 start/build/test 三个命令修改为 craco 方式
"scripts": {
  "start": "craco start",
  "build": "craco build",
  "test": "craco test",
  "eject": "react-scripts eject"
}

路径别名智能提示方案

在配置好别名路径之后,我们可以使用@符号代替*/src路径,但是我们发现此时并不好用。

在这里插入图片描述

代码只能引入还是自动引入../路径,手动输入@符号时,也没有路径提示。

遇到这个问题,我们有两种非常简单的解决方案

方案一:path-alias插件

VsCode的插件生态不可谓不丰富,工欲善其事,必先利其器!我们前往VsCode的插件市场,搜索并下载path-alias插件,这个插件能帮我们做到@符号路径别名的智能提示。

未安装效果:未安装效果与上图中一样,不能智能导入,甚至手动导入时都无法显示路径。

安装后不光具备路径别名智能提示,还可以点击别名路径跳转到该文件

在这里插入图片描述
 

选择性配置

path-alias插件只默认配置路径@映射到项目的src目录,如果需要配置其他的路径别名的智能提示的话,需要进入VsCode的setting.json文件中,添加:

// 开发项目时使用路径别名时会有"智能提示" 
"pathAlias.aliasMap": {
  // key是你要定义的别名 | 使用${cwd}来代替当前工作目录的绝对路径
  "@": "${cwd}/src",
  "~": "${cwd}/src",
  "components": "${cwd}/src/components"
},

此时,输入component也有会智能提示了

在这里插入图片描述
 

使用path-alias插件缺点:该插件占用内存较大,如果内存吃紧的话,可以使用方案二来解决智能路径提示的问题。

方案二:jsconfig.json文件

  • 在你的项目根目录下新建: jsconfig.ison文件
  • 内存小时使用,复制如下到你的文件,重启vscode即可
{
  "compilerOptions": {
    "experimentalDecorators": true, 
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"],
      "components/*": ["src/components/*"],
      "assets/*": ["src/assets/*"],
      "views/*": ["src/views/*"],
      "common/*": ["src/common/*"],
    }
  },
  "exclude": ["node_modules", "dist"]
}

总结一下

如果想一次配置且不在乎占用内存情况,建议直接使用path-alias插件

如果本机内存不够或觉得这个插件使用体验不佳, 建议使用 jsconfig.json

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3项目打包与上线详细图文教程

    vue3项目打包与上线详细图文教程

    这篇文章主要给大家介绍了关于vue3项目打包与上线的相关资料,在项目完成得差不多得时候,就可以开始打包部署了,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • vue3+ts+elementui-plus二次封装弹框实战教程

    vue3+ts+elementui-plus二次封装弹框实战教程

    这篇文章主要介绍了vue3+ts+elementui-plus二次封装弹框实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Vue 内置组件keep-alive的使用示例

    Vue 内置组件keep-alive的使用示例

    这篇文章主要介绍了Vue 内置组件keep-alive的使用示例,帮助大家更好的理解和学习使用vue,感兴趣的朋友可以了解下
    2021-04-04
  • Vue之修改数据页面不更新的问题

    Vue之修改数据页面不更新的问题

    这篇文章主要介绍了Vue之修改数据页面不更新的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 当vue路由变化时,改变导航栏的样式方法

    当vue路由变化时,改变导航栏的样式方法

    今天小编就为大家分享一篇当vue路由变化时,改变导航栏的样式方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • vue实现循环滚动列表

    vue实现循环滚动列表

    这篇文章主要为大家详细介绍了vue实现循环滚动列表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 如何在vue3.0+中使用tinymce及实现多图上传文件上传公式编辑功能

    如何在vue3.0+中使用tinymce及实现多图上传文件上传公式编辑功能

    本文给大家分享tinymce编辑器如何在vue3.0+中使用tinymce及实现多图上传文件上传公式编辑功能,tinymce安装方法文中也给大家详细介绍了,对vue tinymce实现上传公式编辑相关知识感兴趣的朋友跟随小编一起学习下吧
    2021-05-05
  • vue配置路径别名方式(@/*)

    vue配置路径别名方式(@/*)

    文章介绍了如何配置路径别名,包括安装@types/node、编辑vite.config.ts或js文件、配置tsconfig.json以及重启软件等步骤
    2025-11-11
  • vue el-table 动态添加行与删除行的实现

    vue el-table 动态添加行与删除行的实现

    这篇文章主要介绍了vue el-table 动态添加行与删除行的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 如何在在Vue3中使用markdown 编辑器组件

    如何在在Vue3中使用markdown 编辑器组件

    vue3发布正式版不久,生态还没完全发展起来,目前支持vue3的开源markdown编辑器组件基本上也寥寥无几,向大家推荐一个很好用的v-md-editor 组件,组件功能很强大,文档也比较详细。该文章只介绍组件的常用功能,更多高级的功能可以参考官方文档。
    2021-05-05

最新评论