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 相关文章推荐
用JQuery实现表格隔行变色和突出显示当前行的代码
Feb 10 Javascript
JSON.stringify 语法实例讲解
Mar 14 Javascript
基于jquery异步传输json数据格式实例代码
Nov 23 Javascript
jQuery遍历之next()、nextAll()方法使用实例
Nov 08 Javascript
javascript中的Function.prototye.bind
Jun 25 Javascript
浅谈JavaScript字符串拼接
Jun 25 Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
Jul 08 Javascript
微信小程序 数组中的push与concat的区别
Jan 05 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
浅谈react性能优化的方法
Sep 05 Javascript
Vue多选列表组件深入详解
Mar 02 Vue.js
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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
PHP+DBM的同学录程序(5)
2006/10/09 PHP
杏林同学录(一)
2006/10/09 PHP
PHP 字符串 小常识
2009/06/05 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
JScript 脚本实现文件下载 一般用于下载木马
2009/10/29 Javascript
js 小数取整的函数
2010/05/10 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
2016/05/11 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
[44:37]完美世界DOTA2联赛PWL S3 Forest vs access 第一场 12.11
2020/12/13 DOTA
利用Python进行异常值分析实例代码
2017/12/07 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
在Python中使用Neo4j的方法
2019/03/14 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python删除某个目录文件夹的方法
2020/05/26 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
python 爬虫如何正确的使用cookie
2020/10/27 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
如何开发一个JQuery插件
2016/07/28 面试题
学生出入校管理制度
2014/01/16 职场文书
事业单位鉴定材料
2014/05/25 职场文书
加强作风建设工作总结
2014/10/23 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
MySQL数据库超时设置配置的方法实例
2021/10/15 MySQL