Vue中引用文件配置绝对路径,不在担心文件层级关系

引用文件时,将其相对路径配置成绝对路径,并自定义别名用来替换原文件的相对路径,容易识别,不用再考虑文件层级嵌套问题,不用再写那么长相对路径

配置前:

import Login from './src/components/Login.vue'
import userInfo from './src/view/user/userInfo.vue'
import  './src/assets/style/base.css'

配置后:

import Login from '@/components/Login.vue'
import userInfo from 'view/user/userInfo.vue'
import  'assets/style/base.css'
在vue.config.js中配置

(1)引入node里面加载的path模块

const path = require('path')

(2)封装resolve 函数,使用__dirname获取当前文件所在的文件目录

function resolve (dir){
    return path.join(__dirname,dir)   //path.join(__dirname) 设置绝对路径
}

__dirname:当前配置的文件所在的绝对路径(双下划线)
dir:传入的文件夹

(3)在module.exports中设置别名

module.expots = {
    //...
    chainWebpack :(config) => {
        config.resolve.alias
            .set('@', resolve('./src'))
            .set('views',resolve('./src/view'))
            .set('assets',resolve('./src/assets'))
            //...可以继续自定义别名
             //set 第一个参数:设置的别名;第二个参数:原来默认的路径
    }
    //...
}

此时
@:表示 './src'
views: 表示 './src/view'
assets: 表示 './src/assets'
set 第一个参数:表示替换默认路径设置的别名;第二个参数:表示原来默认的路径

vue.config.js中配置的全部代码
const path = require('path')
function resolve (dir){
    return path.join(__dirname,dir)   //path.join(__dirname) 设置绝对路径 双下划线
}

module.expots = {
    //...
    chainWepack :(config) => {
        config.resolve.alias
            .set('@', resolve('./src'))
            .set('views',resolve('./src/view'))
            .set('assets',resolve('./src/assets'))
            //...可以继续自定义别名
             //set 第一个参数:设置的别名;第二个参数:原来默认的路径
    }
    //...
}

配置完成,记得重启服务生效!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容