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

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

相关文章

  • 详细讲解vue2+vuex+axios

    详细讲解vue2+vuex+axios

    在vue2项目中,组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的情况下(后台获取数据存入vuex,组件之间共享数据),那么就需要用vuex来管理这些。
    2017-05-05
  • vuex实现登录状态的存储,未登录状态不允许浏览的方法

    vuex实现登录状态的存储,未登录状态不允许浏览的方法

    下面小编就为大家分享一篇vuex实现登录状态的存储,未登录状态不允许浏览的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 基于vue-cli3创建libs库的实现方法

    基于vue-cli3创建libs库的实现方法

    这篇文章主要介绍了基于vue-cli3创建libs库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • element多个表单校验的实现

    element多个表单校验的实现

    在项目中,经常会遇到表单检验,在这里我分享在实际项目中遇到多个表单同时进行校验以及我的解决方法,感兴趣的可以了解一下
    2021-05-05
  • Vue.js的复用组件开发流程完整记录

    Vue.js的复用组件开发流程完整记录

    这篇文章主要给大家介绍了关于Vue.js的复用组件开发流程的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • vue中jsencrypt与base64加密解密的实用流程

    vue中jsencrypt与base64加密解密的实用流程

    vue项目里面使用到的加密和解密的方法,本文主要介绍了vue中jsencrypt与base64加密解密的实用流程,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • unplugin-svg-component优雅使用svg图标指南

    unplugin-svg-component优雅使用svg图标指南

    这篇文章主要为大家介绍了unplugin-svg-component优雅使用svg图标指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Vue中的baseurl如何配置

    Vue中的baseurl如何配置

    这篇文章主要介绍了Vue中的baseurl如何配置问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue项目适配大屏端的方法示例

    vue项目适配大屏端的方法示例

    众所周知在vue移动端h5页面当中,适配是经常会遇到的问题,这篇文章主要给大家介绍了关于vue项目适配大屏端的相关资料,需要的朋友可以参考下
    2021-08-08
  • 如何用Vue实现父子组件通信

    如何用Vue实现父子组件通信

    这篇文章主要介绍了如何用Vue实现父子组件通信,对Vue感兴趣的同学,可以参考下
    2021-05-05

最新评论