时间:2021-05-26
前言:
对于非静态的文件,如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文件的内容,不是urlaxios.get(require("@/assets/image/map.md")).then(res=>{ //res.data 就是内容})然后部署上去后,如果后期我们需要对map.md做修改,则直接修改static/media/map.md文件就行了,直接生效,不需要再次编译
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
loader官方解释是文件预处理器,通俗点说就是webpack在处理静态文件的时候,需要使用loader来加载各种文件,比如:html文件需要使用html-lo
在模板中往往要加载静态文件,如CSS,JavaScript,图片等。那么这些文件在django中如何才能正确加载呢?首先要在settings文件中进行设置,关于
Webpack是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。一、处理图片文件默认webpac
css加载器在webpack中,所有的资源(js文件、css文件、模板文件,图片文件等等)都被看成是一个模块,因此多有的资源都是可以被加载的。加载这些资源我们要
什么是懒加载懒加载也叫延迟加载,即在需要的时候进行加载,随用随载。为什么需要懒加载在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,