webpack+vue中使用别名路径引用静态图片地址


Posted in Javascript onNovember 20, 2017

webpack 的别名好处大家也都了解, 但是 vue 的模板中, 对图片地址使用别名时总出现问题, 很久时间的时间都没找到解决办法, 一度认为是 webpack 的原因...

alias: {
 'src': path.resolve(__dirname, '../src'),
 'assets': path.resolve(__dirname, '../src/assets'),
 'components': path.resolve(__dirname, '../src/components')
}
<template>
 <img src="assets/images/logo.jpg" />
</template>
<script>
import 'assets/css/style.css'
</script>
<style>
.logo {
 background: url(asset/images/bg.jpg)
}
</style>

上面的代码, 你会发现只有引入style.css是成功的, 图片地址和背景图片地址都会解析失败...

经过各种搜索找原因(这时候, 你会发现百度搜索这些技术型的内容, 真是垃圾中的战斗机), 最终还是找到原因了...

vue-html-loader and css-loader translates non-root URLs to relative paths. In order to treat it like a module path, prefix it with ~

就是要在别名前面加一个~

最终代码写成:

alias: {
 'src': path.resolve(__dirname, '../src'),
 'assets': path.resolve(__dirname, '../src/assets'),
 'components': path.resolve(__dirname, '../src/components')
}
<template>
 <img src="~assets/images/logo.jpg" />
</template>
<script>
import 'assets/css/style.css'
</script>
<style>
.logo {
 background: url(~asset/images/bg.jpg)
}
</style>

意思就是: 告诉加载器它是一个模块,而不是相对路径

注意: 只有在template中的静态文件地址和style中的静态文件地址需要加~, 在script里的, 别名定义成什么就写什么.
到此, 纠结了几个月时间的问题, 终于解决了...

顺便贴下自己使用的别名列表:

alias: {
  'assets': path.resolve(__dirname, '../src/assets'),
  'src': path.resolve(__dirname, '../src'),
  '~api': path.resolve(__dirname, '../src/api'),
  '~components': path.resolve(__dirname, '../src/components'),
  '~pages': path.resolve(__dirname, '../src/pages'),
  '~router': path.resolve(__dirname, '../src/router'),
  '~store': path.resolve(__dirname, '../src/store'),
  '~utils': path.resolve(__dirname, '../src/utils')
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript打印网页部分内容的脚本
Nov 17 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
Dec 30 Javascript
关于js注册事件的常用方法
Apr 03 Javascript
javascript实现简单的进度条
Jul 02 Javascript
jQuery简单操作cookie的插件实例
Jan 13 Javascript
jQuery实现返回顶部功能
Feb 23 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
关于foreach循环中遇到的问题小结
May 08 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
Sep 14 Javascript
vue实现购物车选择功能
Jan 10 Javascript
使用javascript解析二维码的三种方式
Nov 11 Javascript
laydate日历控件使用方法详解
Nov 20 #Javascript
JavaScript框架Angular和React深度对比
Nov 20 #Javascript
如何选择适合你的JavaScript框架
Nov 20 #Javascript
JavaScript内存泄漏的处理方式
Nov 20 #Javascript
加载 vue 远程代码的组件实例详解
Nov 20 #Javascript
jquery中有哪些api jQuery主要API
Nov 20 #jQuery
详解如何将 Vue-cli 改造成支持多页面的 history 模式
Nov 20 #Javascript
You might like
PHP新手上路(七)
2006/10/09 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
php根据年月获取季度的方法
2014/03/31 PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
2015/01/29 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
php微信分享到朋友圈、QQ、朋友、微博
2019/02/18 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
浅谈webpack下的AOP式无侵入注入
2017/11/12 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
python 经典数字滤波实例
2019/12/16 Python
使用Python制作新型冠状病毒实时疫情图
2020/01/28 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
食堂员工工作职责
2013/12/18 职场文书
教师个人鉴定材料
2014/02/08 职场文书
学习雷锋寄语大全
2014/04/11 职场文书
治庸问责心得体会
2014/09/12 职场文书
安全检查汇报材料
2014/12/26 职场文书
大学生操行评语大全
2014/12/31 职场文书
小学英语听课心得体会
2016/01/14 职场文书
Python OpenCV超详细讲解基本功能
2022/04/02 Python