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 验证上传图片大小[客户端]
Aug 01 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
Apr 06 Javascript
jquery制作图片时钟特效
Mar 30 Javascript
jquery网页日历显示控件calendar3.1使用详解
Nov 24 Javascript
浅析BootStrap中Modal(模态框)使用心得
Dec 24 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
Dec 01 Javascript
对angularJs中自定义指令replace的属性详解
Oct 09 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 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生成静态页面详解
2006/11/19 PHP
PHP define函数的使用说明
2008/08/27 PHP
php提示undefined index的几种解决方法
2012/05/21 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
利用JS实现页面删除并重新排序功能
2016/12/09 Javascript
JS判断鼠标进入容器的方向与window.open新窗口被拦截的问题
2016/12/23 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
简单实现JS上传图片预览功能
2017/04/14 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
vue3.0实现插件封装
2020/12/14 Vue.js
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python实现的栈(Stack)
2018/01/26 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
英国最红的高街时尚品牌:Topshop
2016/08/05 全球购物
酒店管理自荐信
2013/10/23 职场文书
七一建党日演讲稿
2014/09/05 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
首都博物馆观后感
2015/06/05 职场文书
萤火虫之墓观后感
2015/06/05 职场文书