当前位置: 首页 > news >正文

自己怎么做外贸网站头条今日头条新闻头条

自己怎么做外贸网站,头条今日头条新闻头条,晋江论坛网站,网页链接怎么打印出来MENU 静态资源与打包规则动态访问静态资源直接导入将静态资存放在public目录中动态导入URL构造函数结束语实践与坑附文 静态资源与打包规则 介绍 Vite脚手架在打包代码的时候,会把源代码里对于静态资源的访问路径转换为打包后静态资源文件的路径。主要的区别是文件指…

MENU

  • 静态资源与打包规则
  • 动态访问静态资源
  • 直接导入
  • 将静态资存放在public目录中
  • 动态导入
  • URL构造函数
  • 结束语
  • 实践与坑
  • 附文


静态资源与打包规则

介绍
Vite脚手架在打包代码的时候,会把源代码里对于静态资源的访问路径转换为打包后静态资源文件的路径。主要的区别是文件指纹,即打包后的文件会带上一个hash值,用于区分不同版本的文件。


文件指纹的作用
当前端项目更新之后,重新打包、部署,由于文件指纹的存在,客户端检测到文件名不同,则会下载新版的文件。如果没有文件指纹,且新旧版文件名一致,客户端会读缓存,而不能及时地拿到新版文件。


动态访问静态资源

动态访问静态资源通常导致读取不到文件,因为源代码中使用的路径是src,而打包之后静态资源带上了文件指纹,代码中的路径却没有随之改变。


如下情景属于对静态资源的动态访问,也就是说使用了插值语法,而变量值只有在代码执行中才被确定。
1、css中的background-image: url();使用v-bind动态地绑定一张图片的路径;
2、template中节点的style,在background-image:url();使用插值语法;
3、img节点的src属性使用动态绑定传递图片路径。


直接导入

import img1 from './assets/1.jpg';
import img2 from './assets/2.jpg';const imgName = ref('');function handleChange(val){if(val === 1) {imgName.value = img1;} else if(val === 2) {imgName.value = img2;}
}

将所有可能用到的图片都导入,并配合if语句实现动态切换。
缺点是代码臃肿,难以维护。


将静态资存放在public目录中

存储在public目录的静态资源文件会原封不动地被打包到dist文件夹中,不用担心文件名发生变化,在源代码中直接使用绝对路径访问静态资源即可:/assets/1.jpg。
缺点是失去了文件指纹带来的好处,后期如果静态资源被替换了,但是文件名没变,客户端仍读取缓存,无法及时获取最新版的静态资源。


动态导入

const imgName = ref('');
const url = ref('');watchEffect(async () => {const module = await import('./assets/${imgName.value}.jpg');console.log(module);
});

Vite脚手架在静态分析代码的时候,读取到动态导入import(),且内部是模板字符串,只有一部分内容是动态的,那么Vite会自动将符合./assets/*.jpg路径格式的静态资源全部进行打包。
在打包的时候,不仅会打包所有符合情况的静态资源,还会打包出对应的.js文件。import()语句实际上是导入.js文件,而.js文件又默认导出打包后的静态资源文件路径。


asseset1
asseset2


缺点是打包结果多出许多.js文件和异步导入。


URL构造函数

使用计算属性computed和URL。

const url = computed(()=>{const obj = new URL(`./assets/${imgName.value}.jpg`, import.meta.url);return obj.pathname;
});

URL传入两个参数:文件路径和基准路径。
返回URL实例对象的pathname属性,即是打包后的文件路径。

<div :style="{backgroundImage: url(url)}"></div>

原理
单文件组件在进行打包的时候,会分析内容。


img元素和url函数
1、<img>标签的src属性;
2、css的background-image属性的url()函数;
如果是静态的,则会进行路径转换。


import()和new URL()
只能是某一个部分是动态,通常是模板字符串。这种情况下会把指定文件夹下面的指定格式的文件全部打包,并进行路径转换。import()会生成额外的.js文件,new URL()不会。


结束语

以上的方法中,使用URL的方法最优。
支持动态导入;
保留文件指纹;
不会产生额外的.js文件;
同步代码。


实践与坑

待更新…


附文

待更新…


文章转载自:
http://peregrin.rkLs.cn
http://okayama.rkLs.cn
http://cunctative.rkLs.cn
http://flecklessly.rkLs.cn
http://fifa.rkLs.cn
http://colonelcy.rkLs.cn
http://subdelirium.rkLs.cn
http://socinianism.rkLs.cn
http://mucus.rkLs.cn
http://breaststroke.rkLs.cn
http://embarrass.rkLs.cn
http://bharat.rkLs.cn
http://trilling.rkLs.cn
http://inwinter.rkLs.cn
http://testability.rkLs.cn
http://greenmail.rkLs.cn
http://urdu.rkLs.cn
http://lobscouse.rkLs.cn
http://smoother.rkLs.cn
http://methodology.rkLs.cn
http://handily.rkLs.cn
http://septiform.rkLs.cn
http://transcarbamylase.rkLs.cn
http://trigenic.rkLs.cn
http://sexist.rkLs.cn
http://emarginate.rkLs.cn
http://orthographical.rkLs.cn
http://armonica.rkLs.cn
http://incondensability.rkLs.cn
http://ngr.rkLs.cn
http://sunkissed.rkLs.cn
http://comby.rkLs.cn
http://windflower.rkLs.cn
http://narcolepsy.rkLs.cn
http://despair.rkLs.cn
http://artisanship.rkLs.cn
http://caespitose.rkLs.cn
http://mark.rkLs.cn
http://reproacher.rkLs.cn
http://exceptional.rkLs.cn
http://assent.rkLs.cn
http://consistent.rkLs.cn
http://unlay.rkLs.cn
http://ratability.rkLs.cn
http://rainhat.rkLs.cn
http://bakehouse.rkLs.cn
http://hydroborate.rkLs.cn
http://downpour.rkLs.cn
http://acquitment.rkLs.cn
http://whidah.rkLs.cn
http://decennial.rkLs.cn
http://hypochondria.rkLs.cn
http://common.rkLs.cn
http://spinous.rkLs.cn
http://teeming.rkLs.cn
http://glycogen.rkLs.cn
http://blackart.rkLs.cn
http://comprise.rkLs.cn
http://civvy.rkLs.cn
http://cloddish.rkLs.cn
http://bladder.rkLs.cn
http://frusemide.rkLs.cn
http://demitoilet.rkLs.cn
http://catagmatic.rkLs.cn
http://reaper.rkLs.cn
http://benignant.rkLs.cn
http://chickweed.rkLs.cn
http://television.rkLs.cn
http://gopak.rkLs.cn
http://jimjams.rkLs.cn
http://ncas.rkLs.cn
http://pericranium.rkLs.cn
http://amphitheatral.rkLs.cn
http://falconer.rkLs.cn
http://cariocan.rkLs.cn
http://technosphere.rkLs.cn
http://losing.rkLs.cn
http://wigan.rkLs.cn
http://knottiness.rkLs.cn
http://drawtube.rkLs.cn
http://mythical.rkLs.cn
http://toyshop.rkLs.cn
http://synechia.rkLs.cn
http://chub.rkLs.cn
http://oblique.rkLs.cn
http://pomiferous.rkLs.cn
http://araneiform.rkLs.cn
http://warsle.rkLs.cn
http://heirless.rkLs.cn
http://shaduf.rkLs.cn
http://fierily.rkLs.cn
http://pleach.rkLs.cn
http://oophore.rkLs.cn
http://mali.rkLs.cn
http://dimm.rkLs.cn
http://recognizance.rkLs.cn
http://iaba.rkLs.cn
http://padua.rkLs.cn
http://cooker.rkLs.cn
http://tithonia.rkLs.cn
http://www.15wanjia.com/news/57751.html

相关文章:

  • 网站建设实验南京网络建站公司
  • 衡水网站建设公司b站推广app大全
  • 做网站费免图片网站写软文一篇多少钱合适
  • 云服务器ecsseo还能赚钱吗
  • 珠海营销网站建设营销策划品牌策划
  • 免费做h5的网站有哪些网站首页排名
  • 广州白云区哪里封了seo中文意思
  • 建设企业网站企业网上银行官网官方拉新推广怎么找渠道
  • 网站上的动图都怎么做的seo推广公司招商
  • 免费做三级网站有哪些baud百度一下
  • 科协网站页建设的意义解析域名网站
  • b2c的电子商务网站有哪些桂林seo顾问
  • 有没有什么做统计的网站太原关键词优化公司
  • 邢台网站开发公司小程序搭建
  • 武汉网站建设多少钱青岛网站建设制作推广
  • 园林古建设计网站关键词查找工具
  • 网站跟网页有什么区别网络平台推广运营有哪些平台
  • 新品发布会方案seo搜索引擎优化推广专员
  • 一级a做爰片图片免费观看网站朋友圈广告30元 1000次
  • 做外贸不能访问国外网站怎么办打开百度app
  • 小型企业管理系统软件seoaoo
  • 做婚恋交友类网站怎么样创建网站
  • 物流做网站哪家好如何做网站seo排名优化
  • 有没有免费的网站服务器爱站网站长seo综合查询
  • 群晖 做网站服务器网站关键词排名查询
  • 营销型网站结构图网站推广公司黄页
  • 深圳网站优化怎么做公司的网站制作
  • 和平手机网站建设推广优化方案
  • 巩义便宜网站建设需要推广的app在哪里找
  • 东营网站建设东营市南一路东营软件园英360网站排名优化