parent
32955fd390
commit
6b5cbba7cd
|
|
@ -77,6 +77,7 @@
|
||||||
"@types/stompjs": "^2.3.5",
|
"@types/stompjs": "^2.3.5",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.59.6",
|
"@typescript-eslint/eslint-plugin": "^5.59.6",
|
||||||
"@typescript-eslint/parser": "^5.59.6",
|
"@typescript-eslint/parser": "^5.59.6",
|
||||||
|
"@vitejs/plugin-vue-jsx": "^3.0.2",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.14",
|
||||||
"commitizen": "^4.3.0",
|
"commitizen": "^4.3.0",
|
||||||
"cz-git": "^1.6.1",
|
"cz-git": "^1.6.1",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import SvgIcon from "@/components/SvgIcon/index.vue";
|
||||||
|
import { translateRouteTitle } from "@/utils/i18n";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
icon: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const vnodes: any[] = [];
|
||||||
|
if (props.icon) {
|
||||||
|
if (props.icon.includes("el-icon")) {
|
||||||
|
vnodes.push(h("i", { class: [props.icon, "sub-el-icon"] }));
|
||||||
|
} else {
|
||||||
|
vnodes.push(h(SvgIcon, { "icon-class": props.icon }));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (props.title) {
|
||||||
|
vnodes.push(h("span", { slot: "title" }, translateRouteTitle(props.title)));
|
||||||
|
}
|
||||||
|
const render = h("div", vnodes);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<render />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.sub-el-icon {
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
color: currentcolor;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"jsx": "preserve",
|
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
@ -19,7 +18,11 @@
|
||||||
"types": ["vite/client", "unplugin-icons/types/vue"],
|
"types": ["vite/client", "unplugin-icons/types/vue"],
|
||||||
"skipLibCheck": true /* Skip type checking all .d.ts files. */,
|
"skipLibCheck": true /* Skip type checking all .d.ts files. */,
|
||||||
"allowSyntheticDefaultImports": true /* 允许默认导入 */,
|
"allowSyntheticDefaultImports": true /* 允许默认导入 */,
|
||||||
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */
|
"forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
|
||||||
|
|
||||||
|
"jsx": "preserve",
|
||||||
|
"jsxFactory": "h",
|
||||||
|
"jsxFragmentFactory": "Fragment"
|
||||||
},
|
},
|
||||||
"include": [
|
"include": [
|
||||||
"src/**/*.ts",
|
"src/**/*.ts",
|
||||||
|
|
@ -29,5 +32,4 @@
|
||||||
"vite.config.ts"
|
"vite.config.ts"
|
||||||
],
|
],
|
||||||
"exclude": ["node_modules", "dist", "**/*.js"]
|
"exclude": ["node_modules", "dist", "**/*.js"]
|
||||||
// "references": [{ "path": "./tsconfig.node.json" }]
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
|
||||||
|
|
||||||
import { viteMockServe } from "vite-plugin-mock";
|
import { viteMockServe } from "vite-plugin-mock";
|
||||||
|
|
||||||
|
import vueJsx from "@vitejs/plugin-vue-jsx";
|
||||||
|
|
||||||
import UnoCSS from "unocss/vite";
|
import UnoCSS from "unocss/vite";
|
||||||
import path from "path";
|
import path from "path";
|
||||||
|
|
||||||
|
|
@ -67,6 +69,7 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
|
||||||
},
|
},
|
||||||
plugins: [
|
plugins: [
|
||||||
vue(),
|
vue(),
|
||||||
|
vueJsx(),
|
||||||
UnoCSS({
|
UnoCSS({
|
||||||
hmrTopLevelAwait: false,
|
hmrTopLevelAwait: false,
|
||||||
}),
|
}),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue