vue 如何实现配置@绝对路径

 更新时间:2022年09月22日 09:14:03   作者:who_become_gods  
这篇文章主要介绍了vue 如何实现配置@绝对路径,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

如何配置@绝对路径

第一种 直接使用@

vue项目中默认定义了@(最常用)和vue$两个别名 , @这东西代表着到src这个文件夹的路径,

下面所属目录可以直接 @/views @/components @/store @/router @/assets

    ├── vue.config.js 
    ├── package.json 
    ├── babel.config.js 
    ├── public
        └──index.html 
    ├── src         
        └── assets
        └── components
        └── store
        └── router
        └── view
        └── app.vue
        └── main.js

第二种 webpack.base.conf.js

在vue项目开发中经常引用JS、CSS、IMG文件。当项目较大时文件层级很多,导致路径很长,我们可以通过在bulid > webpack.base.conf.js 设置简便的引用路径

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      // add assets路径   给src/assets设置引用路径 assets  使用就是  "~assets"
      'assets': resolve('src/assets'),      
     //  add static路径  给static设置引用路径 static  使用就是 "~static"
      'static': path.resolve(__dirname, '../static'), 
  },

注意事项,设置好引用路径,必须要重启项目才能生效。不然会报错 配置JS、CSS文件同样操作

第三种 vue.config.js配置

项目中使用引入文件有时候路径比较深,需要使用"…/…/…/xx.js"这种类似的路劲引入,这种方式比较笨,可以使用webpack的别名alias配置来解决。

首先,先确定node_modules项目中是否有path模块, 如果没有path模块需要先安装path

npm install path --save

以下为vue.config.js配置

const path = require("path");
function resolve(dir) {
  return path.join(__dirname, dir);
}
 
module.exports = {
  chainWebpack: config => {
    config.resolve.alias
      .set("@", resolve("src"))
      .set("@assets", resolve("src/assets"))
      .set("@components", resolve("src/components"))
      .set("@base", resolve("baseConfig"))
      .set("@public", resolve("public"));
  },
}

vue路径写法:./ 和 @/

vue在引用路径的时候可以用 ./ 的写法引用如下:

import './api/index'

这个代表在相同文件下绝对路径的意思。

项目中还有常见的@用法

import Background from '@/assets/images/background.jpg'

这个@是在 webpack.base.conf.js (vue.config.js)文件里配置的:

configureWebpack: {
    // provide the app's title in webpack's name field, so that
    // it can be accessed in index.html to inject the correct title.
    name: name,
    resolve: {
      alias: {
        '@': resolve('src'),
        '@crud': resolve('src/components/Crud')
      }
    }
  },

这里的@就代表是 src,所以就在 src 路径下找文件,也可以自己配置,这也是常见的路径写法!

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

相关文章

  • vue中v-for指令完成列表渲染

    vue中v-for指令完成列表渲染

    这篇文章主要给大家分享的是vue中v-for指令完成列表渲染,下面文化章就围绕中v-for的相关资料在Vue中列表渲染做个简单总结和使用演示,需要的朋友可以参考一下,希望对大家有所帮助
    2021-11-11
  • vue如何通过ref调用router-view子组件的方法

    vue如何通过ref调用router-view子组件的方法

    这篇文章主要介绍了vue 通过ref调用router-view子组件的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • Vue数据驱动模拟实现3

    Vue数据驱动模拟实现3

    这篇文章主要为大家详细介绍了Vue数据驱动模拟实现,教大家如何在某个对象中,新增某个属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Vuex新手的理解与使用详解

    Vuex新手的理解与使用详解

    这篇文章主要介绍了Vuex新手的理解与使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 详解Vue开发微信H5微信分享签名失败问题解决方案

    详解Vue开发微信H5微信分享签名失败问题解决方案

    这篇文章主要介绍了详解Vue开发微信H5微信分享签名失败问题解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • vue移动端下拉刷新和上拉加载的实现代码

    vue移动端下拉刷新和上拉加载的实现代码

    这篇文章主要介绍了vue移动端下拉刷新和上拉加载的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详细聊聊前端如何实现token无感刷新(refresh_token)

    详细聊聊前端如何实现token无感刷新(refresh_token)

    实现token无感刷新对于前端来说是一项非常常用的技术,其本质是为了优化用户体验,下面这篇文章主要给大家介绍了关于前端如何实现token无感刷新(refresh_token)的相关资料,需要的朋友可以参考下
    2022-11-11
  • vue3.0父传给子的值不随父组件改变而改变问题及解决

    vue3.0父传给子的值不随父组件改变而改变问题及解决

    这篇文章主要介绍了vue3.0父传给子的值不随父组件改变而改变问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue-cli在 history模式下的配置详解

    vue-cli在 history模式下的配置详解

    这篇文章主要介绍了vue-cli在 history模式下的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • vuex中使用对象展开运算符的示例

    vuex中使用对象展开运算符的示例

    本篇文章主要介绍了vuex中使用对象展开运算符的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论