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代码
Nov 29 Javascript
js导出txt示例代码
Jan 14 Javascript
JavaScript中的分号插入机制详细介绍
Feb 11 Javascript
javascript获取文档坐标和视口坐标
May 26 Javascript
JS实现黑客帝国文字下落效果
Sep 01 Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 jQuery
详解JavaScript的BUG和错误
May 07 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
Nov 25 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
Sep 10 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
Nov 26 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
Apr 27 Javascript
Vue实现随机验证码功能
Dec 29 Vue.js
微信小程序实现录音时的麦克风动画效果实例
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学习之简单计算器实现代码
2011/06/09 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
精通Javascript系列之数值计算
2011/06/07 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
Node.js的基本知识简单汇总
2016/09/19 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
python实现的简单猜数字游戏
2015/04/04 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
2018/04/02 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
python实现飞机大战游戏
2020/10/26 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
英格兰足协官方商店:England Store
2019/07/12 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
人力资源作业细则
2014/03/03 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
团委副书记工作总结
2015/08/14 职场文书
新手必备Python开发环境搭建教程
2021/05/28 Python
详解Redis在SpringBoot工程中的综合应用
2021/10/16 Redis