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

某网站自己做中性笔网站如何做mip

某网站自己做中性笔,网站如何做mip,禁止指定ip访问网站,360seo排名优化服务一、Vite处理静态资源的机制 Vite在构建时会对静态资源路径进行转换,并添加文件指纹(哈希值),例如将1.jpg转换为1-abc123.jpg。这解决了客户端缓存更新问题,但在某些情况下也导致动态路径无法被构建工具静态分析。 链…

一、Vite处理静态资源的机制

Vite在构建时会对静态资源路径进行转换,并添加文件指纹(哈希值),例如将1.jpg转换为1-abc123.jpg。这解决了客户端缓存更新问题,但在某些情况下也导致动态路径无法被构建工具静态分析。

链接:静态资源处理

动态访问的典型场景:

• CSS中使用插值语法设置background-image: url(),或者CSS中通过v-bind动态绑定路径。

<img>标签的src属性绑定;

• import 语句导入。

• URL 。


二、动态访问静态资源的实现方案

  1. 直接导入所有资源(不推荐)
    通过import手动导入所有可能用到的资源,再根据条件动态切换:
import img1 from './assets/1.jpg';
import img2 from './assets/2.jpg';
const imgName = ref('');
function handleChange(val) {imgName.value = val === 1 ? img1 : img2;
}

• 优点:简单直接,保留文件指纹。

• 缺点:代码臃肿,维护困难,无法应对大量资源。


  1. 将资源放入public目录(不推荐)
    将静态资源存放在public目录下,直接通过绝对路径访问:
<img :src="`/public/assets/${name}.jpg`" />

• 优点:路径固定,无需处理动态路径。

• 缺点:失去文件指纹,客户端可能缓存旧资源。


  1. 动态导入(import()语法)
    使用动态导入语法按需加载资源:
watchEffect(async () => {const module = await import(`./assets/${imgName.value}.jpg`);url.value = module.default;
});

• 原理:Vite会分析./assets/*.jpg路径,预打包所有匹配资源并生成.js文件。

• 优点:支持部分动态路径(需为模板字符串)。

• 缺点:生成额外.js文件,异步加载可能影响性能。


  1. new URL构造函数(推荐)
    利用URL构造函数动态生成路径:
const url = computed(() => {return new URL(`./assets/${imgName.value}.jpg`, import.meta.url).href;
});

• 原理:基于当前模块的基准路径(import.meta.url)拼接动态路径,Vite自动处理为构建后的哈希路径。

• 优点:同步操作,保留文件指纹,无额外文件生成。

• 限制:路径必须为模板字符串(如`./assets/${name}.jpg`),不可完全动态拼接(如'./assets/' + name + '.jpg')。


  1. import.meta.glob批量预加载(推荐)
    通过Glob模式预加载所有匹配资源,运行时按需获取:
const images = import.meta.glob('../assets/*.jpg', { as: 'url' });
const pathKey = `../assets/${val}.jpg`;
const url = await images[pathKey]();

• 原理:构建时生成资源URL映射表,运行时直接查询。

• 优势:避免路径不确定性,支持复杂匹配(如../assets/[0-9].jpg)。

• 扩展:可结合try/catch处理资源未找到的兜底逻辑。


三、最佳实践与注意事项

  1. 推荐方案:
    • 优先使用new URL:适用于简单动态路径,兼顾文件指纹和同步加载。

    • 复杂场景用import.meta.glob:适合大量资源或动态前缀/后缀的情况。

  2. 路径限制:
    • Vite要求动态路径中至少包含静态部分(如./assets/${name}.jpg),否则无法解析。

  3. 兜底处理:

    try {url.value = await images[pathKey]();
    } catch {url.value = fallbackImage; // 加载默认图
    }
    

四、总结

new URLimport.meta.glob是较优解,前者适合简单场景,后者适用于批量处理。若对文件指纹无要求,可短期使用public目录方案,但需权衡缓存问题。

http://www.dtcms.com/wzjs/831362.html

相关文章:

  • o2o网站源码app给网站做网络安全的报价
  • 做网站优化前端面试题2021及答案
  • 网站开发及后期维护福州网站制作系统
  • 设计网站推荐提升审美新闻发稿平台
  • 域名注册好了怎么做网站请问聊城网站建设
  • 株洲网站做的好的公司盐城网站建设jsxmt
  • 网站常用图标素材网站运营托管方案
  • 濮阳做网站的公司有哪些郑州网站制作公司名单
  • 医院网站建设情况说明书空调维修技术支持深圳网站建设
  • 免费建立移动网站吗怎么查网站备案服务商
  • 模板网站开发推广cp网站开发多少钱
  • 营销活动网站手机网站模板 怎样做
  • 建设银行网站怎么基本转个人如何禁止某ip访问网站
  • 网站设计的论文装潢设计与工艺教育专业
  • 大连制作公司网站wordpress社交登录代码
  • iis html网站黄页网页的推广
  • 做学历提升的能在哪个网站上宣传微信小程序怎拼做搬家网站
  • 东莞网页建设网站一键建站免费
  • 广东网站开发公司网站建设文化如何
  • 网站建设案例行业现状楚雄微网站建设
  • 企业网站建设北京公司排名域名到期 网站打不开
  • 美食网站开发流程网站建设维护员是做什么的
  • 网站建设不完整之前不建议推行a站免费最好看的电影片推荐
  • 网站建设名牌网站建设方案书原件
  • 网站响应式布局移动商城型网站开发
  • 国外网站流量查询怎么用dw做响应式网站
  • 电子商务网站开发的步骤湘潭seo快速排名
  • 湖南省建设银行网站6阜阳建网站
  • 赣州建设部网站荆州网站建设荆州
  • 更改host文件把淘宝指向自己做的钓鱼网站宠物论坛网站策划书