依赖安装bash自动换行复制pnpm i -D unplugin-icons vite-plugin-svg-icons @vitejs/plugin-vue 配置 vite.config.ts 文件ts自动换行复制import path, { resolve } from "node:path"; import vue from "@vitejs/plugin-vue"; import { FileSystemIconLoader } from "unplugin-icons/loaders"; import IconsResolver from "unplugin-icons/resolver"; import Icons from "unplugin-icons/vite"; import { NaiveUiResolver } from "unplugin-vue-components/resolvers"; import Components from "unplugin-vue-components/vite"; import { defineConfig } from "vite"; import { createSvgIconsPlugin } from "vite-plugin-svg-icons"; // svg存放地址 const customIconPath = resolve(process.cwd(), "src/assets/svg"); export default defineConfig({ plugins: [ vue(), Components({ // auto import components 自动加载组件 resolvers: [ NaiveUiResolver(), IconsResolver({ customCollections: ["custom"], componentPrefix: "icon", }), ], dts: false, }), Icons({ compiler: "vue3", customCollections: { custom: FileSystemIconLoader(customIconPath), }, scale: 1, defaultClass: "inline-block", }), createSvgIconsPlugin({ iconDirs: [customIconPath], symbolId: "icon-custom-[dir]-[name]", inject: "body-last", customDomId: "__CUSTOM_SVG_ICON__", }), ], }); 46 行提醒在这里我们为什么要使用 process.cwd()呢?__dirname和process.cwd()的区别js自动换行复制const { resolve } = require("node:path") const dirnamePath = resolve(__dirname, "") console.log(dirnamePath) const pwdPath = resolve(process.cwd()) console.log(pwdPath) 输出结果是:txt自动换行复制/Users/wangmou/workspace/whbbit-blog/wxw-blog/scripts /Users/wangmou/workspace/whbbit-blog/wxw-blog 我们可以看到,__dirname 是命令执行目录,process.cwd() 是执行命令的 js 所的在目录使用假设 assets/svg 文件夹中包含 logo.svg 和 menu.svg 两个 svg 图标。我们可以直接使用 icon-custom-文件名 来使用html自动换行复制<template> <icon-custom-logo /> <icon-custom-menu /> </template>
评论区
评论加载中...