webpack中如何加载静态文件的方法步骤


Posted in Javascript onMay 18, 2019

前言:

对于非静态的文件,如js,当webpack打包时,会被直接打到模块文件中,如main.js,如果修改了,需要再次编译
而对于静态文件,如jpg,svg等,我们不希望webpack去打包,只需要在build完后,直接放到dist下的某个路径下即可,随时可以修改,并不需要再次编译

首先,看一段很熟悉的webpack配置

{
  test: [/\.jpg/],
  loader: require.resolve('url-loader'),
  options: {
    limit: 10000,
    name: 'static/media/[name].[ext]',
  },
}

它表明,在解析jpg文件时,只需要提供一个url即可,bytes小于10000的转为base64。 此url为static/media/xxx.jpg。
注意:此处的url已经不是 项目文件夹结构的那个url(如src/assets/image/xxx.jpg), 而是 static/media/xxx.jpg,当编译后,dist/static/media中会出现 xxx.jpg

那么我们如何在组件中引入静态资源呢?

有两张方式:

1、在组件最上方,使用import导入

import b from "@/assets/image/a.jpg"
//此时 b 的值为 static/media/a.jpg

在组件中

<img src={b}/>

2、使用require导入

如果不在组件上方使用import导入,而是在组件中的任意位置使用时,可通过require引入

<img src={require("@/assets/image/a.jpg")}>
//此时require("@/assets/image/a.jpg")的值就是static/media/a.jpg

那么同理,如果想让markdown等其他文件,也成为静态资源。

第一步:

{
  test: [/\.md/],
  loader: require.resolve('url-loader'),
  options: {
    limit: 10, //可以设置小点
    name: 'static/media/[name].[ext]',
  },
}

第二步:

//md文件和jpg不同,我们需要的最终是md文件的内容,不是url
axios.get(require("@/assets/image/map.md")).then(res=>{
  //res.data 就是内容
})

然后部署上去后,如果后期我们需要对map.md做修改,则直接修改static/media/map.md文件就行了,直接生效,不需要再次编译

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
Apr 24 Javascript
jquery下onpropertychange事件的绑定方法
Aug 01 Javascript
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
jQuery1.6 使用方法二
Nov 23 Javascript
javascript分页代码实例分享(js分页)
Dec 13 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
vue-router命名视图的使用讲解
Jan 19 Javascript
vue实现路由切换改变title功能
May 28 Javascript
小程序点击图片实现png转jpg
Oct 22 Javascript
在vue中把含有html标签转为html渲染页面的实例
Oct 28 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 Javascript
用javascript制作qq注册动态页面
Apr 14 Javascript
微信小程序实现录音时的麦克风动画效果实例
May 18 #Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 #Javascript
egg.js的基本使用和调用数据库的方法示例
May 18 #Javascript
inquirer.js一个用户与命令行交互的工具详解
May 18 #Javascript
webpack 代码分离优化快速指北
May 18 #Javascript
如何实现小程序tab栏下划线动画效果
May 18 #Javascript
微信小程序结合Storage实现搜索历史效果
May 18 #Javascript
You might like
判“新”函数:得到今天与明天的秒数
2006/10/09 PHP
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
使用递归遍历对象获得value值的实现方法
2016/06/14 Javascript
jQuery+Pdo编写login登陆界面
2016/08/01 Javascript
jQuery Ajax Post 回调函数不执行问题的解决方法
2016/08/15 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
2018/11/14 Javascript
简单了解前端渐进式框架VUE
2020/07/20 Javascript
Django中URLconf和include()的协同工作方法
2015/07/20 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
Python制作exe文件简单流程
2019/01/24 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python实现指定ip端口扫描方式
2019/12/17 Python
python图形界面开发之wxPython树控件使用方法详解
2020/02/24 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
《小猪家的桃花树》教学反思
2014/04/11 职场文书
付款委托书范本
2014/10/05 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
小学生读书笔记
2015/07/01 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
详解Javascript实践中的命令模式
2021/05/05 Javascript
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript