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 相关文章推荐
无语,javascript居然支持中文(unicode)编程!
Apr 12 Javascript
符合标准的js表单提交的代码
Sep 13 Javascript
jQuery 前的按键判断代码
Mar 19 Javascript
你需要知道的10个最佳javascript开发实践小结
Apr 15 Javascript
使用jQuery实现input数值增量和减量的方法
Jan 24 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
Mar 05 Javascript
JsChart组件使用详解
Mar 04 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
Aug 10 Javascript
原生JavaScript实现幻灯片效果
Feb 19 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 实现多服务器共享 SESSION 数据
2009/08/15 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
javascript delete 使用示例代码
2010/03/29 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python迭代器实例简析
2014/09/25 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
分享一下Python 开发者节省时间的10个方法
2015/10/02 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
用 Python 制作地球仪的方法
2020/04/24 Python
Python学习之os模块及用法
2020/06/03 Python
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
老师推荐信
2013/10/28 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
打架检讨书100字
2014/01/19 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
促销活动总结怎么写
2014/06/25 职场文书
测绘工程专业求职信
2014/07/15 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
考生诚信考试承诺书(2016版)
2016/03/25 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python