问题描述

  • .vue的组件分成三个部分, template结构部分, script路径代码, style页面样式
  • 首先, 我们可以在template可以正确引入, 无论是dev, 还是build都没有问题, 在style中引入背景图的话, 我们在上一篇文章中已经解决.
  • 这次我们发现如果需要在js代码中控制图片路径的显示, 使用:src的话, 直接写是错误的, 并不能打包, 在 devbuild 都是错误的, 都不能正确读取.
  • 这就是我们的问题:
  • 在组件的js中, 如果存在路径, 不能被争取读取

解决方法

理解在webpack中一切皆模块的思想: 将所有的图片按照模块进行处理

  • 即新建一个文件, 然后使用 import 引入所有的图片, 使用即可.

  • 具体代码如下:

// src/config/images.js

import head01 from '../img/1.jpg'
import head02 from '../img/2.jpg'
import background from '../img/background.jpg' export default {
head01: head01,
head02: head02,
background: background
}
// src/components/TimeBox.vue

<script>
import img from '../config/images.js'
export default {
name: 'TimeBox',
data () {
return {
imgUrl: img.head01
}
}
}
</script>

解决思路

修改配置

  • 开始时, 入坑了, 总是以为要像scss那样, 需要修改配置项才行.
  • 最后肯定是不行的, 没有找到这样的配置项, 也暴露出我在webpack上太菜, 连最基本的都还没有搞清楚

绝对路径

  • 采用绝对路径后, 在dev的时候, 的确把问题解决了,
  • 但是需要在把图片放到static目录下面, 其实也是一种方法.
  • 但是不知道为什么, 打包之后, 依旧不能成功读取.这就让人很绝望了, 因为打包之后不再是相对路径, 我们需要一个相对路径才行

引入模块

  • 这也是webpack的精髓吧, 一切皆模块
  • 只是现在还没有能好好理解模块化的思想, 也没有把模块化的概念掌握.

Vue-cli构建项目, 组件中js代码引入图片路径问题的更多相关文章

  1. VUE学习笔记之vue cli 构建项目

    一.环境搭建: 1.安装node.js 从node.js官网下载并安装node,安装过程很简单,一路"下一步"就可以了.安装完成之后,打开命令行工具(win+r,然后输入cmd), ...

  2. 基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式

    在基于Vue的工作流项目模块中,我们在查看表单明细的时候,需要包含公用表单信息,特定表单信息两部分内容.前者表单数据可以统一呈现,而后者则是不同业务的表单数据不同.为了实现更好的维护性,把它们分开作为 ...

  3. vue cli 打包项目造成css背景图路径错误

    vue cli做项目的时候难免会碰到,css引用背景图或者css,js之间的相互引用!!!这时候打包后可能会出现一个错误!!如下图: 写法: 错误: 会无端多出一个“/css/static/” 这样就 ...

  4. Vue如何在data中正常引入图片路径

    在Vue项目中通过data设置图片路径,然后在template中引入后页面无法显示图片,浏览器控制台报错:                        刚开始以为是路径出问题了,于是绝对路径.相对路 ...

  5. vue cli搭建项目及文件引入

    cli搭建方法:需安装nodejs先 1.npm install -g cnpm --registry=https://registry.npm.taobao.org //安装cnpm,用cnpm下载 ...

  6. vue初步构建项目

    新建项目文件夹 在当前文件夹打开命令行工具(shift+右键-->在次此处打开命令窗口) npm install -g vue-cli npm init webpack npm install ...

  7. Vue -cli 入门 --项目搭建(一)

    一. 安装node.js环境. 在node.js官网下载稳定版本(https://nodejs.org/en/) 下载完成后点击安装,安装过程很简单,一直next即可,安装完成会自动添加node及np ...

  8. 基于electron+vue+element构建项目模板之【创建项目篇】

    1.概述 electron:使用javascript.css.html构建跨平台的桌面应用程序 vue:数据驱动视图中的一款渐进式的javascript框架 element:基于vue的桌面端UI组件 ...

  9. vue框架之自定义组件中使用v-model

    通常 vue在html常见表单空间支持v-model双向绑定例如 <input v-model="message" placeholder="edit me&quo ...

随机推荐

  1. glGenLists返回0或None的原因

    最近调用PyOpenGL做显示,想在程序启动时候调用Display List进行显示,但是glGenLists返回None,若在程序启动后调用则没有任何问题. 搜索谷歌后,给出的解释: This ca ...

  2. 甘特图——Excel搞定

    1. 甘特图 概念 甘特图就是条形图的一种. 甘特图是基于作业排序的目的,将活动与时间联系起来的最早尝试之中的一个. 这是什么意思呢?也就是说甘特图用来表示什么时间做什么事情,相当于一个计划安排.并且 ...

  3. POJ 2750 Potted Flower(线段树+dp)

    题目链接 虽然是看的别的人思路,但是做出来还是挺高兴的. 首先求环上最大字段和,而且不能是含有全部元素.本来我的想法是n个元素变为2*n个元素那样做的,这样并不好弄.实际可以求出最小值,总和-最小,就 ...

  4. apt仓库以及apt-get分析

    1 debian repository 参考:https://wiki.debian.org/DebianRepository 1.1 版本代号 sid,still in development,该版 ...

  5. RSA前端JS加密,后端JAVA解密实现

    用RSA非对称加密方式实现.后台生成rsa密钥对,然后在页面设置rsa公钥,提交时用公钥加密密码,生成的密文传到后台,后台再用私钥解密,获取密码明文.这样客户端只需要知道rsa加密方式和公钥,前台不知 ...

  6. java在某个日期上添加n天的方法实现

    //得到添加n天后的时间字符串 public String getAddDate(Date date,int n){ //格式转换 SimpleDateFormat sdf = new SimpleD ...

  7. 类、对象(java基础知识六)

    1.Java约定俗成 java约定俗成 1,类名接口名 一个单词首字母大写,多个单词每个单词首字母都大写 2,方法名和变量名 一个单词全部小写,多个单词从第二个单词首字母大写 建议:如果能用英语尽量用 ...

  8. silverlight 图片引入代码

    private void comboBox2_SelectionChanged(object sender, SelectionChangedEventArgs e) { string str = t ...

  9. C++数组作为函数参数的几个问题(转)

    本文需要解决C++中关于数组的2个问题:1. 数组作为函数参数,传值还是传址?2. 函数参数中的数组元素个数能否确定? 先看下面的代码. #include <iostream> using ...

  10. 分享windows自带计划任务Task schedule使用指南

    下面以“启动运行QQ程序,无限期每186秒一次”为例,演示如何使用计划任务功能. 今天IT外包 www.itwaibaow.com 就为大家分享如何使用win7"计划任务“(Task sch ...