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 相关文章推荐
弹出广告特效代码(一个IP只弹出一次)
May 11 Javascript
JavaScript 弹出窗体点击按钮返回选择数据的实现
Apr 01 Javascript
Dojo 学习要点
Sep 03 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
javascript使用isNaN()函数判断变量是否为数字
Sep 21 Javascript
JavaScript DOM元素尺寸和位置
Apr 13 Javascript
jQuery事件用法详解
Oct 06 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
vue获取dom元素注意事项
Dec 28 Javascript
vue项目从node8.x升级到12.x后的问题解决
Oct 25 Javascript
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 Javascript
JavaScript实现留言板案例
Mar 17 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
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
Vue 2.0入门基础知识之内部指令详解
2017/10/15 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
2019/09/02 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
python正则表达式中的括号匹配问题
2014/12/14 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
Pandas之groupby( )用法笔记小结
2019/07/23 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
python线程池如何使用
2020/05/28 Python
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
Pretty Little Thing爱尔兰:时尚女性服饰
2017/03/27 全球购物
介绍下java.util.Arrays类
2012/10/16 面试题
商务英语本科生的自我评价分享
2013/11/15 职场文书
本科生职业生涯规划书范文
2014/01/21 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
八一演出活动方案
2014/02/03 职场文书
2014政务公开实施方案
2014/02/19 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
干部考察材料范文
2014/12/24 职场文书
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis