vue中 路径使用的@和~的区别

17 篇文章 0 订阅

设置别名
在build文件夹下的webpack.base.conf.js文件中设置src的路径别名。

  resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
      'vue$': 'vue/dist/vue.esm.js',
      '@': resolve('src'),
      '#': resolve('src/assets')
    }
  },

默认会有‘@’别名,指向src目录,还可以添加自定义别名等等。

使用方法
使用别名一般就三种情况:在js中用,在css中用,在html文档内用
js中用,最简单:

import {getName} from '@/util/name'

css中使用,需要加入“~”,并且不要写成字符串:

{
	background: url(~@/assets/img/04_2.jpg);
    //错了,这里有个坑,不能写成字符串,我就是因为这样写错了
	background: url('~@/assets/img/04_2.jpg');
}

html中使用,可以加入‘~’也可以不加入‘~’。

 <img class="pic-404__child left" src="@/assets/404_images/404_cloud.png" alt="404">

生产包遇到路径问题
相信你看到这里,也曾经无数次npm run build,在很多问题中就是因为路径出现问题。
共享一个碰到的坑:
在config/index.js内可以设置打包后根目录,例如:

build: {
    index: path.resolve(__dirname, '../dist/index.html'),
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
       //设置资源访问时前缀,当设置后,例如图片,css,js
        等文件的路径就会变为/foreEnd/……的绝对路径,你可以设置为‘./’保持相对路径。
    assetsPublicPath: '/foreEnd/'

图片以及一些静态资源尽量放入src/assets目录内,不要放入static目录内,访问不易出错。以@/assets/……方式访问。
在写路径时候,尽量不要使用绝对路径,请使用@别名方式访问资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值