Vue-cli构建项目, 组件中js代码引入图片路径问题

时间:2022-04-06 12:14:55

问题描述

  • .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 -cli 入门 --项目搭建&lpar;一&rpar;

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

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

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

  8. vue框架构建项目流程

    构建项目流程: 1.全局查询:node -v 2.全局初始化:npm install --global vue-cli 3.模块化工程:vue init webpack myapp--->y,n ...

  9. Vue:如何在vue-cli中创建并引入自定义组件

    一.创建并引入一个组件 1.创建组件 vue-cli中的所有组件都是存放在components文件夹下面的,所以在components文件夹下面创建一个名为First.vue的自定义组件: <t ...

随机推荐

  1. MySql 获取表的字段名

    mysql安装成功后可以看到已经存在mysql.information_schema和test这个几个数据库,information_schema库中有一个名为COLUMNS的表,这个表中记录了数据库 ...

  2. RMAN 备份及策略

    更详细信息请转http://blog.chinaunix.net/uid-21187846-id-3017363.html 天,这里修改为15天:这样比较保险,到时候恢复时也可以找到当时的备份元数据: ...

  3. Java中long类型直接赋值大数字 注意事项

    在java中,我们都知道有八种基本数据类型:byte. char. short .int. long. float. double .boolean 下面列出以下四种数据类型及其取值范围: 本文主要讲 ...

  4. yarn 集群部署,遇到的问题小结

    版本号信息: hadoop 2.3.0  hive 0.11.0 1. Application Master 无法訪问     点击application mater 链接,出现 http 500 错 ...

  5. Java基础知识强化之集合框架笔记17:List集合的特有的遍历功能

    1. List集合的特有遍历功能: size()和 get()方法结合使用 2. 代码示例: package cn.itcast_03; import java.util.ArrayList; imp ...

  6. SGU114-Telecasting station

    114. Telecasting station time limit per test: 0.5 sec. memory limit per test: 4096 KB Every city in ...

  7. vue&period;js基础知识篇&lpar;1&rpar;&colon;简介、数据绑定

    目录第一章:vue.js是什么? 第二章:数据绑定第三章:指令第四章:计算属性第五章:表单控件绑定代码链接: http://pan.baidu.com/s/1qXCfzRI 密码: 5j79 第一章: ...

  8. VN问题:error:请求的名称有效,但是找不到请求的类型的

    把url中的jmsjms-pc换成IP地址试试看 IP地址你用的是外网地址,应该用局域网内网地址,改成内网地址再试试看 还有练习架设SVN服务器初期尽量用http协议,不要上来就用https协议,ht ...

  9. windows wmi

    官网:https://msdn.microsoft.com/en-us/library/aa394132(v=vs.85).aspx WMI使用的WIN32_类库名:http://blog.csdn. ...

  10. web服务-1、http协议的三次握手四次挥手

    知识点:http协议:它是基于tcp协议的,浏览器访问服务器,服务器把资源回给浏览器,这个过程都是遵循http协议的,否则无法完成,http早些年是1.0版本,现在基本上都是1.1版本了,俩个版本的区 ...