基于webpack实现多html页面开发框架八 html引入图片打包和公共页面模块复用

2023-05-16

一、解决什么问题

  1、html中img引入的图片地址没有被替换,找不到图片

  2、html公共部分复用问题,如头部、底部、浮动层等

二、html中img引入图片问题解决

  1、在index.html插入img,引用图片<img src="../../assets/img/test.jpeg">

  2 、npm run dev运行结果如下:

   

www.wityx.com

    因为图片地址没有被替换为打包后的地址, 所以找不到图片

    3、需要使用的包:html-withimg-loader,安装命令:npm install html-withimg-loader --save-dev

     在module的rules增加loader配置,配置如下:


1  {
2                 test: /\.html$/,
3                 // html中的img标签
4                 use: ["html-withimg-loader"]
5 },  

   4、重新运行项目,效果如下:

    html中图片地址被替换为打包后的地址, 图片正常显示     

三、html公共模块复用问题解决

  1、比如我们现在有公共头部header.html、bottom.html如何引用到各个页面,我们先在项目中把文件建出来,如下:

     新建layout文件夹,里面包含header.html和bottom.html,两个文件的内容可以随便写下额

  2、以前我们只能把内容来回拷贝,修改的时候修改N处,非常麻烦,还容易少改几处

  3、现在我们怎样引用,方式如下:

     只需要#include引用文件的相对地址,即可把文件引用进来,npm run dev运行效果如下:

     3、为什么#include就可以实现呢,也是受益于html-withimg-loader,当这个loader运行的时候,遇到#include,会把页面的内容可拷贝到对应位置

三、html公共模块的js和样式文件写在什么位置

    1、pages下公共模块文件夹不能包含.js文件和样式文件,因为有.js文件会走打包流程,会生成页面,而我们公共模块是不需要生成页面的。

    2、可以运行npm run build,查看是否生成了layout,效果如下:

      2、公共模块的js、css应该放在那里,js放到assets/js,css放到assets/css,如下:

       header.js和header.scss在各业务页面的.js文件的头部引入就可以使用,如下:

       截图:在首页的index.js文件中引入了common.scss和header.js,修改了header.html中文本的样式,输出了header字符,运行效果如下:

  源码地址:GitHub - James-14/webpack4_multi_page_demo: 基于webpack实现传统开发多html页面打包框架

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于webpack实现多html页面开发框架八 html引入图片打包和公共页面模块复用 的相关文章

  • vncserver: Failed command ‘/etc/X11/Xvnc-session‘: 256!

    安装vncserver启动时出现如下报错 xff1a Starting applications specified span class token keyword in span etc X11 Xvnc session Log spa
  • Windows Media Player SDK 简介

    Windows Media Player SDK 简介 2002年9月 适用于 xff1a Microsoft Windows Media Player 摘要 xff1a 了解如何更改 Windows Media Player 的外观和行为
  • Linux glibc幽灵(GHOST)漏洞检测及修复方案

    安全研究人员近日曝出一个名为幽灵 xff08 GHOST xff09 的严重安全漏洞 xff0c 这个漏洞可以允许攻击者远程获取操作系统的最高控制权限 xff0c 影响市面上大量Linux操作系统及其发行版 该漏洞CVE编号为CVE 201
  • Byte Buddy 入门教程

    为什么需要运行时代码生成 我们知道 xff0c Java 是一种强类型的编程语言 xff0c 即要求所有变量和对象都有一个确定的类型 xff0c 如果在赋值操作中出现类型不兼容的情况 xff0c 就会抛出异常 强类型检查在大多数情况下是可行
  • android graphic(14)—EGL和OpenGL ES之间的关系

    OpenGL ES EGL 例子 EGL加载OpenGL ES库 涉及的库 库的加载 小结 OpenGL ES 什么是OpenGL xff1f Open Graphics Library OpenGL is a cross language
  • 删除多余的Linux图标

    一 空间杀手 使用Docker一段时间后 xff0c 发现C盘剩余空间显著减少 究其原因 xff0c 首先 xff0c 多了Linux子系统 接着 xff0c 看看其占用的空间 xff0c 打开 AppData local 目录下的Dock
  • Web项目停止在Not binding factory to JNDI, no JNDI name configured

    三月 03 2017 9 24 50 下午 org hibernate impl SessionFactoryObjectFactory addInstance 信息 Not binding factory to JNDI no JNDI
  • if-else语句省略{}时不可以定义变量,否则报错

    public void test 带 时可以定义变量和赋值运算等语句 if true int a 61 0 else int b 61 0 不带 时 xff0c 不能定义变量 if true int a 61 0 else int b 61
  • JDK常用API

    本篇介绍Java基础中常用API使用 xff0c 当然只是简单介绍 xff0c 围绕重要知识点引入 xff0c 巩固开发知识 xff0c 深入了解每个API的使用 xff0c 查看Java API文档是必不可少的 一 java lang包下
  • Android butterknife click事件全部失效问题

    问题 xff1a APP突然所有使用butterknife的 64 onClick方式实现的按钮点击事件均失效 解决 xff1a 查看butterknife源代码的DebouncingOnClickListener类 public abst
  • SSH用getHibernateTemplate()更新需要更新的字段

    转 上一篇文章说了hibernate中可以设置dynamic update 来实现跟新某些字段 但是使用了HibernateTemplate xff0c 调用HibernateTemplate saveOrUpdate 方法却还是全部字段更
  • Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password:

    新下载的项目 xff0c 测试时出现Cannot create PoolableConnectionFactory Access denied for user 39 root 39 64 39 localhost 39 using pas
  • 阿里云部署nginx服务器存储图片

    最近想将本地的代码部署到阿里云上 xff0c 1 首先遇到的一个问题就是nginx服务器上传图片连接失败的问题 因为阿里云使用的不是iptables防火墙 xff0c 而是firewalld防火墙 可以在阿里云中选择自己的实例 xff0c
  • windows系统mysql解压版安装教程

    目录 xff1a 1 下载mysql 5 7 18 winx64 zip压缩包 xff1b 2 解压压缩包 xff1b 3 配置mysql环境变量 xff1b 4 新建my ini文件 xff1b 5 安装mydsql xff1b 6 初始
  • 去哪儿2017校园招聘笔试题

    span class hljs keyword import span java util Scanner span class hljs javadoc filename extension 时间限制 xff1a C C 43 43 语言
  • 刷机镜像

    android设备从硬件到系统的结构 xff1a Bootloader是一个叫uboot的程序 xff0c 其支持非常多的体系结构 uboot编译后会生成uboot bin镜像 xff0c 可以作为bootloader使用 Bootload
  • 日志文件xml

    lt xml version 61 34 1 0 34 encoding 61 34 UTF 8 34 gt lt ConsoleAppender 控制台输出日志 gt lt appender name 61 34 STDOUT 34 cl
  • 软件测试之SDK开发(ios)——Cpp Exception捕获

    ios虽然是用OC语言或Swift语言进行编程 xff0c 但是它同时也支持c 43 43 语法 xff0c 底层的动态库也基本上都是C 43 43 编写的 所以ios在运行的时候 xff0c 可能会抛出C 43 43 异常 xff0c 如
  • SmartChat技术服务支持

    ChatGPT是一项革命性的技术 xff0c 本应用利用该先进的人工智能技术为用户进行聊天和创作 xff0c 帮助用户轻松愉快的解决生活或者工作中的问题 xff0c 为用户带来全新不一样的人工智能体验 主要功能 智能机器人聊天 智能创作 技
  • noVNC安装与使用

    参考文章 https blog csdn net qq 41865652 article details 121766828 参考文章 http www zhumeng org thread 292491 1 1 html https ww

随机推荐