Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 代码发布 › 「技术教程」vite+vue3 代替require()的hooks

「技术教程」vite+vue3 代替require()的hooks

Eswlnk的头像
Eswlnk
2023-12-24 23:11:38
「技术教程」vite+vue3 代替require()的hooks-Eswlnk Blog
智能摘要 AI
作者分享了一组用于拼接资源路径的自定义 hooks,名为 `useAssets`。该 hooks 提供了两个主要功能:一是获取 `assets` 目录下的资源路径;二是获取 `assets/images` 目录下的资源路径。代码通过 `URL` 对象生成相对路径,并支持自动处理路径前后的斜杠问题。用户只需导入 `useAssets` 并调用 `getImagesUrl` 或 `getAssetsUrl` 即可。此外,作者还添加了一个未使用的辅助函数 `addPrefixSlash`,以供扩展其他功能。此工具简化了资源路径拼接的工作,提升了开发效率。

前言

最近发现动态去拼接资源路径还是挺常用的,于是把我之前封装的hooks单独分享出来。

教程

useAssets.ts

export function useAssets() {
    /** 前缀补路径斜杠 */
    // eslint-disable-next-line @typescript-eslint/no-unused-vars
    function addPrefixSlash(path: string) {
        return path.startsWith("/") ? path : `/${path}`;
    }
    /** 前缀去路径斜杠 */
    function removePrefixSlash(path: string) {
        return path.startsWith("/") ? path.slice(1) : path;
    }

    /**
     * @description: 获取assets路径
     * @param {string} path
     * @Date: 2023-08-03 17:35:35
     * @Author: copilot
     */
    function getAssetsUrl(path: string) {
        return new URL(`../assets/${removePrefixSlash(path)}`, import.meta.url).href;
    }

    /**
     * @description: 获取images路径
     * @param {string} path
     * @Date: 2023-08-03 17:41:23
     * @Author: copilot
     */
    function getImagesUrl(path: string) {
        return new URL(`../assets/images/${removePrefixSlash(path)}`, import.meta.url).href;
    }

    return {
        getAssetsUrl,
        getImagesUrl
    };
}

封装了两个方法,一个是比较通用的拼接assets目录路径的,另一个也是用的比较多的,去拼接assets中images目录的方法,需要注意的是,new URL中的相对路径需要自行根据自己的目录结构调整下,比如我在src/hooks目录下,那么../就能返回到src,所以路径就不用调整了。

「技术教程」vite+vue3 代替require()的hooks-Eswlnk Blog

使用

<template>
  <img :src="getImagesUrl('/games/logo.png')" alt="bg" />
</template>

<script setup lang="ts">
import useAssets from "@/hooks/useAssets";

const { getImagesUrl } = useAssets();
</script>

比较便捷的是我做了路径前面的/斜线处理,你可以不写,也可以加上。

在hooks也增加了目前没有用到的addPrefixSlash,看大家自己的需求可以自行新增更多便捷的hooks。

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。
hookvue技术
4
0
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
「技术教程」定制项目包管理器 | 使用生命周期脚本限制只允许特定包管理器
上一篇
「代码分享」Nestjs与Prisma多环境变量文件解决方案
下一篇

评论 (0)

请登录以参与评论
现在登录
    发表评论

猜你喜欢

  • 「日志记录」逆向必应翻译网页版API实现免费调用
  • 「代码分享」第三方平台VIP视频解析API接口
  • 「至臻原创」某系统网站登录功能监测
  • 「开发日志」在Vue3中如何为路由Query参数标注类型
  • 「其他分享」分享一个在Tun模式下可用的脚本
Eswlnk的头像

Eswlnk

一个有点倒霉的研究牲站长
1108
文章
319
评论
679
获赞

随便看看

「进程注入」通过远程线程注入代码
2022-12-23 17:04:17
「其他分享」快速接入Google 验证码实现登录验证
2022-08-21 12:40:57
「代码发布」CSS3实现波纹扩散旋转的动画特效
2022-08-14 16:55:59

文章目录

专题展示

WordPress53

工程实践37

热门标签

360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
  • 首页
  • 知识库
  • 地图
Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
本站CDN由 壹盾安全 提供高防CDN安全防护服务
蜀ICP备20002650号-10
页面生成用时 0.776 秒   |  SQL查询 28 次
本站勉强运行:
友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
  • WordPress142
  • 网络安全64
  • 漏洞52
  • 软件52
  • 安全48
现在登录
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈