一个 Vue.js 3 的 UI 库
$ npm i --save various-ui
$ npm i --save-dev vite-plugin-svg-icons
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
export default (config) => {
return {
plugins: [
createSvgIconsPlugin({
// 指定需要缓存的图标文件夹
iconDirs: [resolve(process.cwd(), "node_modules/various-ui/icons")],
// 指定symbolId格式
symbolId: "icon-[name]",
}),
],
};
}
import "virtual:svg-icons-register";
import App from "./App.vue";
import VariousUI from 'various-ui'
import { createApp } from 'vue'
import 'various-ui/styles/index.css'; //* 组件库所有样式
const app = createApp(App)
app.use(VariousUI)
$ npm i --save-dev vite-plugin-svg-icons
import { createStyleImportPlugin } from "vite-plugin-style-import";
export default (config) => {
return {
plugins: [
createStyleImportPlugin({
libs: [
{
libraryName: "various-ui",
esModule: true,
resolveStyle: (name) => {
const result = `various-ui/styles/${name.split("ui-").slice(-1)[0]}.css`;
if (existsSync(resolve(__dirname, "node_modules", result))) return result;
else {
return "";
}
},
},
],
}),
],
};
}
import App from "./App.vue";
import { UiIcon } from 'various-ui'
import { createApp } from 'vue'
import "various-ui/styles/normalize.css"; //* 组件库基础样式
const app = createApp(App)
app.component(UiIcon.name, UiIcon)