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编程起步(第五课)
Feb 27 Javascript
javascript 变量作用域 代码分析
Jun 26 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
JavaScript将取代AppleScript?
Sep 18 Javascript
原生JavaScript实现滚动条效果
Mar 24 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
js生成随机颜色方法代码分享(三种)
Dec 29 Javascript
bootstrap输入框组使用方法
Feb 07 Javascript
webpack开发跨域问题解决办法
Aug 03 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
Sep 11 Javascript
Jquery cookie插件实现原理代码解析
Aug 04 jQuery
微信小程序实现录音时的麦克风动画效果实例
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 empty() 检查一个变量是否为空
2011/11/10 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
JavaScript中的类继承
2010/11/25 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
js获取Get值的方法
2016/09/29 Javascript
JavaScript九九乘法口诀表的简单实现
2016/10/04 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
Python中threading模块join函数用法实例分析
2015/06/04 Python
Python删除空文件和空文件夹的方法
2015/07/14 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python3安装speech语音模块的方法
2018/12/24 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python日志logging模块使用方法分析
2019/05/23 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
python接口自动化框架实战
2020/12/23 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
web页面录屏实现
2019/02/12 HTML / CSS
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
一道SQL存储过程面试题
2016/10/07 面试题
三年大学自我鉴定
2014/01/16 职场文书