webpack中如何加载静态文件
栏目: JavaScript · 发布时间: 6年前
内容简介:前言:对于非静态的文件,如js,当webpack打包时,会被直接打到模块文件中,如main.js,如果修改了,需要再次编译而对于静态文件,如jpg,svg等,我们不希望webpack去打包,只需要在build完后,直接放到dist下的某个路径下即可,随时可以修改,并不需要再次编译
前言:
对于非静态的文件,如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
那么我们如何在组件中引入静态资源呢?
有两张方式:
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文件就行了,直接生效,不需要再次编译
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- [OpenGL]未来视觉6-静态图片纹理加载
- thinkphp5 加载静态资源路径与常量
- 借助 Webpack 静态分析能力实现代码动态加载
- 解决 Django 生产环境无法加载静态文件问题
- 静态库遇到静态库
- 全局变量,静态全局变量,局部变量,静态局部变量
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Where Wizards Stay Up Late
Katie Hafner / Simon & Schuster / 1998-1-21 / USD 16.00
Twenty five years ago, it didn't exist. Today, twenty million people worldwide are surfing the Net. "Where Wizards Stay Up Late" is the exciting story of the pioneers responsible for creating the most......一起来看看 《Where Wizards Stay Up Late》 这本书的介绍吧!