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 相关文章推荐
js删除所有的cookie的代码
Nov 25 Javascript
JavaScript 基础篇(一)
Mar 30 Javascript
浏览器兼容console对象的简要解决方案分享
Oct 24 Javascript
jQuery获得内容和属性方法及示例
Dec 02 Javascript
Javascript中的异步编程规范Promises/A详细介绍
Jun 06 Javascript
JavaScript阻止浏览器返回按钮的方法
Mar 18 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
Aug 25 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
jQuery验证表单格式的使用方法
Jan 10 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
Nov 23 Javascript
vue1.0和vue2.0的watch监听事件写法详解
Sep 11 Javascript
基于webpack4+vue-cli3项目实现换肤功能
Jul 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
一个odbc连mssql分页的类
2006/10/09 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
PHP 设计模式系列之 specification规格模式
2016/01/10 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
jQuery的Read()方法代替原生JS详解
2016/11/08 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python脚本内运行linux命令的方法
2015/07/02 Python
Python3.x对JSON的一些操作示例
2017/09/01 Python
Python global全局变量函数详解
2018/09/18 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
JAVA中的关键字有什么特点
2014/03/07 面试题
《口技》教学反思
2014/02/21 职场文书
计算机专业毕业生自荐书
2014/06/02 职场文书
社会体育专业大学生职业生涯规划书
2014/09/17 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang