Vue如何配置根目录@(引用路径)

 更新时间:2022年04月19日 14:46:23   作者:reisaru  
这篇文章主要介绍了Vue如何配置根目录@(引用路径),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Vue如何配置根目录@

首先:@是在路径访问时使用的,为了减少层级引用。

@这是webpack设置的路径别名,默认指向src。

旧版本在build/webpack.base.conf这个文件里面定义。

新版本在根目录下创建在vue.config.js定义。

const path = require('path')
const resolve = dir => path.join(__dirname, dir)
module.exports = {
    baseUrl: './',
    runtimeCompiler: true,
    chainWebpack: config => {
        config.resolve.alias
            .set('@', resolve('src'))
    }
}

vue项目中默认定义了@(最常用)和vue$两个别名,如果需要,可以自己添加。

Vue配置@作为src根路径

在跟src同级的根路径下找到vue.config.js中作如下配置:

'use strict'
const path = require('path')
function resolve(dir) {
    return path.join(__dirname, dir)
}
 
const name = '学生信息管理系统' // page title
module.exports = {
    publicPath: '/',
    outputDir: 'dist',
    assetsDir: 'static',
    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')
            }
        }
    }
}

注意vue.config.js是vue-cli3的一个配置文件,新建的项目可能不会有这个文件,需要手动创建。

配置完成之后,就可以在vue中使用@作为src的根路径配置,如下:

<div class="login-center-left">
        <h2><img src="@/assets/logo.png" />{{ title }}</h2>
      </div>

注意在vue文件,style的css中不能使用@来获取路径,CSS loader 会把把非根路径的url解释为相对路径, 加~前缀才会解释成模块路径(~@代表根路径),例如:

background: rgb(73, 123, 199) url("~@/assets/login-bg.png") left center

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

相关文章

  • ElementUI修改实现更好用图片上传预览组件

    ElementUI修改实现更好用图片上传预览组件

    这篇文章主要为大家介绍了ElementUI修改实现更好用图片上传预览组件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • vuejs2.0运用原生js实现简单的拖拽元素功能示例

    vuejs2.0运用原生js实现简单的拖拽元素功能示例

    本篇文章主要介绍了vuejs2.0运用原生js实现简单的拖拽元素功能示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • Vue 401配合Vuex防止多次弹框的案例

    Vue 401配合Vuex防止多次弹框的案例

    这篇文章主要介绍了Vue 401配合Vuex防止多次弹框的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 基于vue-upload-component封装一个图片上传组件的示例

    基于vue-upload-component封装一个图片上传组件的示例

    这篇文章主要介绍了基于vue-upload-component封装一个图片上传组件的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • Vue监听Enter键的方法总结与区别

    Vue监听Enter键的方法总结与区别

    这篇文章主要给大家介绍了关于Vue监听Enter键的方法与区别的相关资料,在Vue中我们可以通过监听键盘事件来实现回车键切换焦点的功能,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 打包组件报错:Error:Cannot find module 'vue/compiler-sfc'

    打包组件报错:Error:Cannot find module 'vue/compiler-sfc&ap

    最近遇到这样的问题,vue组件库搭建过程中使用webpack打包组件时报错,本文给大家分享打包组件报错:Error: Cannot find module ‘vue/compiler-sfc‘的解决方法,感兴趣的朋友一起看看吧
    2023-12-12
  • 从vue源码解析Vue.set()和this.$set()

    从vue源码解析Vue.set()和this.$set()

    这篇文章主要介绍了从vue源码看Vue.set()和this.$set()的相关知识,我们先来从Vue提供的Vue.set()和this.$set()这两个api看看它内部是怎么实现的。感兴趣的朋友跟随小编一起看看吧
    2018-08-08
  • Vue使用formData格式类型上传文件的示例

    Vue使用formData格式类型上传文件的示例

    这篇文章主要介绍了Vue使用formData格式类型上传文件的示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Vue3中pinia的使用与持久化处理详解

    Vue3中pinia的使用与持久化处理详解

    Pinia 是一个基于 Vue 3 的状态管理库,可以更好地支持 TypeScript 和更灵活的状态管理方式,本文主要介绍了pinia的使用与持久化处理,需要的可以参考一下
    2023-07-07
  • vue require.context()的用法实例详解

    vue require.context()的用法实例详解

    require.context是webpack提供的一个api,通常用于批量注册组件,下面这篇文章主要给大家介绍了关于vue require.context()用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04

最新评论