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

目录
  • Vue如何配置根目录@
  • Vue配置@作为src根路径

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

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

(0)

相关推荐

  • vue-cli3.0使用及部分配置详解

    好长一段时间没有关注vue脚手架了,昨天因为需要个后台模板,用脚手架 搞了一下,竟然发现指令不能用了,看官方文档已经升级3.0,也是试的玩了一下, 大致写写怎么玩的! 1.先全局安装vue-cli3.0 检测安装: vue -V 2.创建项目(这个就跟react创建脚手架项目比较像了) 这里如果你是第一次用3.0版本的话,是没有前两个的,而只有最后两个,这里是 让你选的,第一个是默认配置,一般选第二个,自己配置,这里选择最后一个 在选择功能后,会询问更细节的配置, TypeScript: 是否使

  • 详解Vue前端生产环境发布配置实战篇

    前言 首先这篇文章是写给Vue新手的,老司机基本不用看了. 当我们刚接触vue的时候,特别是对于第一次用前端框架的同学来说,心情可以说是比较激动的,框架带来的种种新体验,是以前jQuery无法给你的兴奋和满足感.但是在体验了几个demo的新鲜感之后,我们就要考虑如何把框架结合到我们实际的开发中如何应用的问题了. 下面我主要总结三个和生产发布相关的问题:资源文件发布文件夹配置,图片文件的引用,以及后台接口调试方法. 一,资源文件发布配置 一般项目都是用vue-cli脚手架搭建项目,然后编写自己的代

  • 关于vue.js发布后路径引用的问题解决

    本文主要给大家介绍了关于vue.js发布后路径引用问题的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 在发布到iis目录下时候,如果放在网站的根目录下的时候,是不会有什么问题的 但是一旦放在了非根目录的其他文件夹里面,这时候index.html里引用的js和css文件路径都会找不到 错误如下 打开index.html文件发现里面引用的文件路径不对 这里只需要更改config/index.js配置就可以了 更改后的配置 这里也视当前环境的具体环境而定. 如果你也遇到这样

  • Vue CL3 配置路径别名详解

    Cli3工具中,配置路径别名 最近用Vue Cli3脚手架搭建了Vue项目,发现没有build目录了,里面的webpack相关的也没了,看了官方文档后,查了资料后,发现都在vue.config.js里来配置了 配置路径别名,方便引用,不用写那么长 配置前: import TodoList from '../../components/TodoList' 配置后(不用再关心文件层级关系): import TodoList from 'components/TodoList' 在根目录下添加'vue

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

    目录 Vue如何配置根目录@ Vue配置@作为src根路径 Vue如何配置根目录@ 首先:@是在路径访问时使用的,为了减少层级引用. @这是webpack设置的路径别名,默认指向src. 旧版本在build/webpack.base.conf这个文件里面定义. 新版本在根目录下创建在vue.config.js定义. const path = require('path') const resolve = dir => path.join(__dirname, dir) module.export

  • vue实现配置全局访问路径头(axios)

    在vue中用axios发送请求的时候总是: axios.get("http://localhost:3000/xxx/xxx",{params:{xx:xxx}}).then(res=>{}).catch(error=>{}) 配置全局的url: 1.安装axios:npm install axios --save-dev 2.main.js: import axios from "axios" axios.defaults.baseURL = &quo

  • 关于vue单文件中引用路径的处理方法

    前言 Vue 的单文件组件在使用 Vue 时非常常用,而在vue单文件的开发过程中,在单文件模版中可能会涉及到文件路径的处理,比如 <img>, style 中的 background 的处理等.下文中讨论了几种不同场景下的 <img> 的 src 处理,解释了在使用 vue+webpack 的开发过程中如何正确的引用静态资源(比如图片的处理). 如下所示,在下面的单文件组件中给出了不同场景下引用图片路径的示例(图片静态资源存放在 src/assets/small.png ): &

  • vue配置根目录详细步骤(用@代表src目录)

    目录 简介 根目录的用法 在Vue中的JS里使用 在Vue文件的CSS里使用 vue cli3及之后的配置 步骤1:配置jsconfig.js 步骤2:配置vue.config.js vue cli2的配置 总结 简介 本文介绍vue如何配置根目录(用@代表src目录). 默认情况下是不能用@代替/src的,需要经过配置才可以. 根目录的用法 在Vue中的JS里使用 vue通常会用@来代表项目的src目录.这样一来,输入路径时就不用输入/src了,可以直接用@来替换. 例如:有一个vue文件,路

  • Vue.js中的图片引用路径的方式

    当我们在Vue.js项目中引用图片时,关于图片路径有以下几种情形: 使用一 我们在data里面定义好图片路径 imgUrl:'../assets/logo.png' 然后,在template模板里面 /*错误写法*/ <img src="{{imgUrl}}"> 这样是错误的写法,我们应该用v-bind绑定图片的srcs属性 <img :src="imgUrl"> 或者 <img src="../assets/logo.png

  • Vue axios设置访问基础路径方法

    看过axios的官方文档后配置变得简单: 在main.js 做如下配置: import axios from 'axios' axios.defaults.baseURL = 'http://10.202.42.24:8080/sf-cloud-web' Vue.prototype.axios = axios 最后一行是将axios配置到Vue原型中,使用方法为: this.axios.get('/test/1').then(function (response) {}) 可能会遇到下面的报错:

  • vue webpack打包后图片路径错误的完美解决方法

    项目用run dev build 打包后,发现很多图片都不显示,在本地是没有问题的啊!找原因发现通过webpack+vuecli默认打包的css.js等资源,路径都是绝对的. 因为我们的图片路径都是经历过文件夹的,在本地引用图片是绝对路径,但打包后因为把配置的static文件夹当成了根路径,所以很多图片找不到都不显示. 解决办法如图: (1). 修改 assetsPublicPath: './' (2).打开webpack.prod.conf.js,在output:增加 publicPath:

  • vue webpack build资源相对路径的问题及解决方法

    默认情况webpack+vue-cli打包的css.js等静态资源路径都是绝对的,即static在根目录下,如果部署到带有文件夹目录的项目中,资源路径就会出错. 如图: 解决方法: 在webpack.prod.conf.js中,output中添加或者修改为 publicPath: './': output: { publicPath: './', path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunk

  • Vue proxyTable配置多个接口地址,解决跨域的问题

    最开始的时候,因为请求后台出现跨域问题. 查找资料配置proxyTable,解决跨域问题.如下图所示: axios请求页面: this.$axios.post('/api/weblogin/login',data).then(res=>{ console.log(res) }) 后面遇到需要连接不同的接口域名,我在proxyTable里增加了一个apiGas.axios请求存在获取得到api但是不能获取apiGas(提示请求资源不存在). proxyTable: { '/api': { targ

  • vue cli3 配置 stylus全局变量的使用方式

    目录 vue cli3配置stylus全局变量 vue cli3使用stylus全局变量 vue cli3配置stylus全局变量 首先在common.styl文件中写一些常用的css变量,方便全局使用,避免重复代码. 预想的是在main.js中引入common.styl文件,然后所有的.vue文件就都可以使用了.但是事与愿违,根本不起作用. 网络上有很多教程,但是都不起作用(找答案是个痛苦且漫长的过程),下面是总结的代码,基本开箱即用,希望能帮助到需要帮助的人. // vue.config.j

随机推荐