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 相关文章推荐
js Date概念详细介绍
Nov 22 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
javascript简易画板开发
Apr 12 Javascript
图片懒加载插件实例分享(含解析)
Jan 09 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
详解ES6系列之私有变量的实现
Nov 21 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
JavaScript和TypeScript中的void的具体使用
Sep 12 Javascript
手把手带你搭建一个node cli的方法示例
Aug 07 Javascript
vue 动态生成拓扑图的示例
Jan 03 Vue.js
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
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+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
jQuery ajax cache缓存问题
2010/07/01 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
js获取鼠标点击的位置实现思路及代码
2014/05/09 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
jQuery中:nth-child选择器用法实例
2014/12/31 Javascript
数据分析软件之FineReport教程:[5]参数界面JS(全)
2015/08/13 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
详解JavaScript作用域和作用域链
2019/03/19 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python使用代理ip访问网站的实例
2018/05/07 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
Python 实现数据结构-循环队列的操作方法
2019/07/17 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
2020/06/12 Python
python 基于opencv操作摄像头
2020/12/24 Python
神话般的珠宝:Ross-Simons
2020/07/13 全球购物
数据库连接池的工作原理
2012/09/26 面试题
学生个人自我鉴定范文
2014/03/28 职场文书
环保专项行动方案
2014/05/12 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
2014年体育部工作总结
2014/11/13 职场文书
个人总结格式范文
2015/03/09 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL