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 相关文章推荐
jquery uaMatch源代码
Feb 14 Javascript
javascript数组去重3种方法的性能测试与比较
Mar 26 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
Jan 06 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
Javascript原型链的原理详解
Jan 05 Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 Javascript
js实现多个倒计时并行 js拼团倒计时
Feb 25 Javascript
element-ui 中使用upload多文件上传只请求一次接口
Jul 19 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
Sep 03 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
JavaScript Ajax实现异步通信
2016/12/14 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
2019/05/27 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
python支持多继承吗
2020/06/19 Python
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
幼儿园的门卫岗位职责
2014/04/10 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
风之谷观后感
2015/06/11 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
CSS实现漂亮的时钟动画效果的实例代码
2021/03/30 HTML / CSS
Jsonp劫持学习
2021/04/01 PHP
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS