feat(projects): 添加naiveUI按需引入

This commit is contained in:
Soybean 2022-02-17 00:58:55 +08:00
parent 225e7128b6
commit a810ef85b1
69 changed files with 231 additions and 120 deletions

View File

@ -24,6 +24,7 @@
"yzhang.markdown-all-in-one",
"pkief.material-icon-theme",
"zhuangtongfa.material-theme",
"jimdong.naive-ui-snippets",
"christian-kohler.path-intellisense",
"esbenp.prettier-vscode",
"johnsoncodehk.volar",

View File

@ -1,17 +1,17 @@
import { loadEnv } from 'vite';
import type { ConfigEnv, PluginOption } from 'vite';
import { minifyHtml, injectHtml } from 'vite-plugin-html'; // html插件(使用变量、压缩)
import { createHtmlPlugin } from 'vite-plugin-html'; // html插件(使用变量、压缩)
export default (config: ConfigEnv): PluginOption[] => {
const viteEnv = loadEnv(config.mode, `.env.${config.mode}`);
return [
minifyHtml(),
injectHtml({
injectData: {
return createHtmlPlugin({
minify: true,
inject: {
data: {
appName: viteEnv.VITE_APP_NAME,
appTitle: viteEnv.VITE_APP_TITLE
}
})
];
}
});
};

View File

@ -7,7 +7,7 @@ import mock from './mock';
import visualizer from './visualizer';
export function setupVitePlugins(configEnv: ConfigEnv): (PluginOption | PluginOption[])[] {
const plugins = [vue, ...html(configEnv), ...iconify, windicss, mock];
const plugins = [vue, html(configEnv), ...iconify, windicss, mock];
if (configEnv.command === 'build') {
plugins.push(visualizer);

View File

@ -50,7 +50,7 @@
"@amap/amap-jsapi-types": "^0.0.8",
"@commitlint/cli": "^16.2.1",
"@commitlint/config-conventional": "^16.2.1",
"@iconify/json": "^2.1.1",
"@iconify/json": "^2.1.2",
"@iconify/vue": "^3.1.3",
"@types/bmapgl": "^0.0.5",
"@types/crypto-js": "^4.1.1",
@ -84,7 +84,7 @@
"unplugin-icons": "^0.13.1",
"unplugin-vue-components": "^0.17.18",
"vite": "2.8.3",
"vite-plugin-html": "^2.1.2",
"vite-plugin-html": "^3.0.6",
"vite-plugin-mock": "^2.9.6",
"vite-plugin-windicss": "^1.7.0",
"vue-tsc": "^0.31.4",

View File

@ -6,7 +6,7 @@ specifiers:
'@better-scroll/core': ^2.4.2
'@commitlint/cli': ^16.2.1
'@commitlint/config-conventional': ^16.2.1
'@iconify/json': ^2.1.1
'@iconify/json': ^2.1.2
'@iconify/vue': ^3.1.3
'@types/bmapgl': ^0.0.5
'@types/crypto-js': ^4.1.1
@ -55,7 +55,7 @@ specifiers:
unplugin-vue-components: ^0.17.18
vditor: ^3.8.11
vite: 2.8.3
vite-plugin-html: ^2.1.2
vite-plugin-html: ^3.0.6
vite-plugin-mock: ^2.9.6
vite-plugin-windicss: ^1.7.0
vue: ^3.2.31
@ -93,7 +93,7 @@ devDependencies:
'@amap/amap-jsapi-types': registry.npmmirror.com/@amap/amap-jsapi-types/0.0.8
'@commitlint/cli': registry.npmmirror.com/@commitlint/cli/16.2.1
'@commitlint/config-conventional': registry.npmmirror.com/@commitlint/config-conventional/16.2.1
'@iconify/json': registry.npmmirror.com/@iconify/json/2.1.1
'@iconify/json': registry.npmmirror.com/@iconify/json/2.1.2
'@iconify/vue': registry.npmmirror.com/@iconify/vue/3.1.3_vue@3.2.31
'@types/bmapgl': registry.npmmirror.com/@types/bmapgl/0.0.5
'@types/crypto-js': registry.npmmirror.com/@types/crypto-js/4.1.1
@ -127,7 +127,7 @@ devDependencies:
unplugin-icons: registry.npmmirror.com/unplugin-icons/0.13.1_vite@2.8.3
unplugin-vue-components: registry.npmmirror.com/unplugin-vue-components/0.17.18_vite@2.8.3+vue@3.2.31
vite: registry.npmmirror.com/vite/2.8.3_sass@1.49.7
vite-plugin-html: registry.npmmirror.com/vite-plugin-html/2.1.2_vite@2.8.3
vite-plugin-html: registry.npmmirror.com/vite-plugin-html/3.0.6_vite@2.8.3
vite-plugin-mock: registry.npmmirror.com/vite-plugin-mock/2.9.6_mockjs@1.1.0+vite@2.8.3
vite-plugin-windicss: registry.npmmirror.com/vite-plugin-windicss/1.7.0_vite@2.8.3
vue-tsc: registry.npmmirror.com/vue-tsc/0.31.4_typescript@4.5.5
@ -151,7 +151,7 @@ packages:
dev: false
registry.nlark.com/@nodelib/fs.scandir/2.1.5:
resolution: {integrity: sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=, registry: https://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz}
resolution: {integrity: sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=, registry: http://registry.npm.taobao.org/, tarball: https://registry.nlark.com/@nodelib/fs.scandir/download/@nodelib/fs.scandir-2.1.5.tgz}
name: '@nodelib/fs.scandir'
version: 2.1.5
engines: {node: '>= 8'}
@ -1838,10 +1838,10 @@ packages:
version: 1.2.1
dev: true
registry.npmmirror.com/@iconify/json/2.1.1:
resolution: {integrity: sha512-uHmQzctXK9OBE5FAT/Hay+VF9qXz2BGko7i9LvDt9hJh0bfOWNGAer2n3LYb/G3UDJxMRjiEC/qV5OUd3MiAKA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/-/json-2.1.1.tgz}
registry.npmmirror.com/@iconify/json/2.1.2:
resolution: {integrity: sha512-I4JHbMZBAd5ENGyYECUMpTcJMibTKd1ioVCLHDv+TsdSN01OMT4Uq2JLV1tVkolc7QiiomRsSuBBuDinGSgCVg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/-/json-2.1.2.tgz}
name: '@iconify/json'
version: 2.1.1
version: 2.1.2
dependencies:
'@iconify/types': registry.npmmirror.com/@iconify/types/1.0.12
pathe: registry.npmmirror.com/pathe/0.0.2
@ -1895,14 +1895,14 @@ packages:
chalk: registry.npmmirror.com/chalk/4.1.2
registry.npmmirror.com/@nodelib/fs.stat/2.0.5:
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz}
resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz}
name: '@nodelib/fs.stat'
version: 2.0.5
engines: {node: '>= 8'}
dev: true
registry.npmmirror.com/@nodelib/fs.walk/1.2.8:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz}
name: '@nodelib/fs.walk'
version: 1.2.8
engines: {node: '>= 8'}
@ -2863,6 +2863,12 @@ packages:
engines: {node: '>=8'}
dev: true
registry.npmmirror.com/boolbase/1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz}
name: boolbase
version: 1.0.0
dev: true
registry.npmmirror.com/brace-expansion/1.1.11:
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz}
name: brace-expansion
@ -3188,6 +3194,19 @@ packages:
version: 1.0.11
dev: true
registry.npmmirror.com/connect-history-api-fallback/1.6.0:
resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz}
name: connect-history-api-fallback
version: 1.6.0
engines: {node: '>=0.8'}
dev: true
registry.npmmirror.com/consola/2.15.3:
resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/consola/-/consola-2.15.3.tgz}
name: consola
version: 2.15.3
dev: true
registry.npmmirror.com/constantinople/4.0.1:
resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/constantinople/-/constantinople-4.0.1.tgz}
name: constantinople
@ -3320,6 +3339,25 @@ packages:
'@types/node': registry.npmmirror.com/@types/node/14.14.45
csstype: registry.npmmirror.com/csstype/3.0.10
registry.npmmirror.com/css-select/4.2.1:
resolution: {integrity: sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-select/-/css-select-4.2.1.tgz}
name: css-select
version: 4.2.1
dependencies:
boolbase: registry.npmmirror.com/boolbase/1.0.0
css-what: registry.npmmirror.com/css-what/5.1.0
domhandler: registry.npmmirror.com/domhandler/4.3.0
domutils: registry.npmmirror.com/domutils/2.8.0
nth-check: registry.npmmirror.com/nth-check/2.0.1
dev: true
registry.npmmirror.com/css-what/5.1.0:
resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/css-what/-/css-what-5.1.0.tgz}
name: css-what
version: 5.1.0
engines: {node: '>= 6'}
dev: true
registry.npmmirror.com/csstype/2.6.19:
resolution: {integrity: sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/csstype/-/csstype-2.6.19.tgz}
name: csstype
@ -3644,17 +3682,18 @@ packages:
is-obj: registry.npmmirror.com/is-obj/2.0.0
dev: true
registry.npmmirror.com/dotenv-expand/5.1.0:
resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz}
registry.npmmirror.com/dotenv-expand/8.0.1:
resolution: {integrity: sha512-j/Ih7bIERDR5PzI89Zu8ayd3tXZ6E3dbY0ljQ9Db0K87qBO8zdLsi2dIvDHMWtjC3Yxb8XixOTHAtia0fDHRpg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-8.0.1.tgz}
name: dotenv-expand
version: 5.1.0
version: 8.0.1
engines: {node: '>=12'}
dev: true
registry.npmmirror.com/dotenv/10.0.0:
resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz}
registry.npmmirror.com/dotenv/16.0.0:
resolution: {integrity: sha512-qD9WU0MPM4SWLPJy/r2Be+2WgQj8plChsyrCNQzW/0WjvcJQiKQJ9mH3ZgB3fxbUUxgc/11ZJ0Fi5KiimWGz2Q==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dotenv/-/dotenv-16.0.0.tgz}
name: dotenv
version: 10.0.0
engines: {node: '>=10'}
version: 16.0.0
engines: {node: '>=12'}
dev: true
registry.npmmirror.com/dotignore/0.1.2:
@ -4355,7 +4394,7 @@ packages:
dev: true
registry.npmmirror.com/fastq/1.13.0:
resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz}
resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fastq/-/fastq-1.13.0.tgz}
name: fastq
version: 1.13.0
dependencies:
@ -4579,7 +4618,7 @@ packages:
dev: false
registry.npmmirror.com/glob-parent/5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz}
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz}
name: glob-parent
version: 5.1.2
engines: {node: '>= 6'}
@ -5621,6 +5660,15 @@ packages:
whatwg-url: registry.npmmirror.com/whatwg-url/5.0.0
dev: true
registry.npmmirror.com/node-html-parser/5.2.0:
resolution: {integrity: sha512-fmiwLfQu+J2A0zjwSEkztSHexAf5qq/WoiL/Hgo1K7JpfEP+OGWY5maG0kGaM+IFVdixF/1QbyXaQ3h4cGfeLw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-html-parser/-/node-html-parser-5.2.0.tgz}
name: node-html-parser
version: 5.2.0
dependencies:
css-select: registry.npmmirror.com/css-select/4.2.1
he: registry.npmmirror.com/he/1.2.0
dev: true
registry.npmmirror.com/normalize-package-data/2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz}
name: normalize-package-data
@ -5660,6 +5708,14 @@ packages:
path-key: registry.npmmirror.com/path-key/3.1.1
dev: true
registry.npmmirror.com/nth-check/2.0.1:
resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/nth-check/-/nth-check-2.0.1.tgz}
name: nth-check
version: 2.0.1
dependencies:
boolbase: registry.npmmirror.com/boolbase/1.0.0
dev: true
registry.npmmirror.com/object-assign/4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz}
name: object-assign
@ -5945,6 +6001,12 @@ packages:
version: 0.0.2
dev: true
registry.npmmirror.com/pathe/0.2.0:
resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pathe/-/pathe-0.2.0.tgz}
name: pathe
version: 0.2.0
dev: true
registry.npmmirror.com/pdfast/0.2.0:
resolution: {integrity: sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/pdfast/-/pdfast-0.2.0.tgz}
name: pdfast
@ -6180,7 +6242,7 @@ packages:
dev: false
registry.npmmirror.com/queue-microtask/1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz}
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz}
name: queue-microtask
version: 1.2.3
dev: true
@ -6381,7 +6443,7 @@ packages:
dev: false
registry.npmmirror.com/reusify/1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz}
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz}
name: reusify
version: 1.0.4
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
@ -6466,7 +6528,7 @@ packages:
dev: true
registry.npmmirror.com/run-parallel/1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz}
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz}
name: run-parallel
version: 1.2.0
dependencies:
@ -7394,20 +7456,26 @@ packages:
version: 0.0.3
dev: false
registry.npmmirror.com/vite-plugin-html/2.1.2_vite@2.8.3:
resolution: {integrity: sha512-7HXkL6n7M2qDEaUV4Vnz8yM2glW4gV36d5HSBIM5gOoAG1PkuQb4Vv9FTPgPiQxq4sPRf/6IgABX0MeLVW+CyQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-html/-/vite-plugin-html-2.1.2.tgz}
id: registry.npmmirror.com/vite-plugin-html/2.1.2
registry.npmmirror.com/vite-plugin-html/3.0.6_vite@2.8.3:
resolution: {integrity: sha512-B6ZAufvqUqdfPhcV+El8NNI3qV0d3ZntIur2UnP4tcHBV/O2d+6wHF79bJWuqR4WsvmsV7dejCNS3rAYFCisWw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-html/-/vite-plugin-html-3.0.6.tgz}
id: registry.npmmirror.com/vite-plugin-html/3.0.6
name: vite-plugin-html
version: 2.1.2
version: 3.0.6
peerDependencies:
vite: '>=2.0.0'
dependencies:
'@rollup/pluginutils': registry.npmmirror.com/@rollup/pluginutils/4.1.2
dotenv: registry.npmmirror.com/dotenv/10.0.0
dotenv-expand: registry.npmmirror.com/dotenv-expand/5.1.0
colorette: registry.npmmirror.com/colorette/2.0.16
connect-history-api-fallback: registry.npmmirror.com/connect-history-api-fallback/1.6.0
consola: registry.npmmirror.com/consola/2.15.3
dotenv: registry.npmmirror.com/dotenv/16.0.0
dotenv-expand: registry.npmmirror.com/dotenv-expand/8.0.1
ejs: registry.npmmirror.com/ejs/3.1.6
fast-glob: registry.npmmirror.com/fast-glob/3.2.11
fs-extra: registry.npmmirror.com/fs-extra/10.0.0
html-minifier-terser: registry.npmmirror.com/html-minifier-terser/6.1.0
node-html-parser: registry.npmmirror.com/node-html-parser/5.2.0
pathe: registry.npmmirror.com/pathe/0.2.0
vite: registry.npmmirror.com/vite/2.8.3_sass@1.49.7
transitivePeerDependencies:
- acorn

View File

@ -13,7 +13,7 @@
</template>
<script setup lang="ts">
import { NConfigProvider, zhCN, dateZhCN } from 'naive-ui';
import { zhCN, dateZhCN } from 'naive-ui';
import { NaiveProvider } from '@/components';
import { useThemeStore, subscribeStore } from '@/store';

View File

@ -27,7 +27,6 @@
<script setup lang="ts">
import { computed, watch, nextTick, onUnmounted } from 'vue';
import { NSpin } from 'naive-ui';
import { NETWORK_ERROR_MSG } from '@/config';
import { SvgEmptyData, SvgNetworkError } from '@/components';
import { useBoolean } from '@/hooks';

View File

@ -8,7 +8,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { NCheckbox, NButton } from 'naive-ui';
interface Props {
/** 是否勾选 */

View File

@ -16,7 +16,6 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { NTooltip } from 'naive-ui';
import type { FollowerPlacement } from 'vueuc';
interface Props {

View File

@ -12,7 +12,6 @@
</template>
<script setup lang="ts">
import { NLoadingBarProvider, NDialogProvider, NNotificationProvider, NMessageProvider } from 'naive-ui';
import { NaiveProviderContent } from './components';
</script>
<style scoped></style>

View File

@ -25,7 +25,6 @@
</template>
<script setup lang="ts">
import { NDivider } from 'naive-ui';
import { useBoolean } from '@/hooks';
import IconClose from '../IconClose/index.vue';
import { SvgRadiusBg } from './components';

View File

@ -26,7 +26,6 @@
<script lang="ts" setup>
import { ref, computed } from 'vue';
import { NPopover, NInput, NEmpty } from 'naive-ui';
import { Icon } from '@iconify/vue';
import { useThemeStore } from '@/store';

View File

@ -24,7 +24,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import { NBreadcrumb, NBreadcrumbItem, NDropdown } from 'naive-ui';
import { routePath } from '@/router';
import { useThemeStore, useRouteStore } from '@/store';
import { useRouterPush } from '@/composables';

View File

@ -5,7 +5,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { useRoute } from 'vue-router';
import { NMenu } from 'naive-ui';
import type { MenuOption } from 'naive-ui';
import { useRouteStore } from '@/store';
import { useRouterPush } from '@/composables';

View File

@ -8,7 +8,6 @@
</template>
<script lang="ts" setup>
import { NDropdown, useDialog } from 'naive-ui';
import { HoverContainer } from '@/components';
import { useAuthStore } from '@/store';
import { iconifyRender } from '@/utils';
@ -17,7 +16,6 @@ import avatar from '@/assets/svg/common/avatar01.svg';
type DropdownKey = 'user-center' | 'logout';
const auth = useAuthStore();
const dialog = useDialog();
const options = [
{
@ -39,7 +37,7 @@ const options = [
function handleDropdown(optionKey: string) {
const key = optionKey as DropdownKey;
if (key === 'logout') {
dialog.info({
window.$dialog?.info({
title: '提示',
content: '您确定要退出登录吗?',
positiveText: '确定',

View File

@ -26,7 +26,6 @@
<script lang="ts" setup>
import { ref, shallowRef, computed, watch, nextTick } from 'vue';
import { useRouter } from 'vue-router';
import { NModal, NInput, NEmpty } from 'naive-ui';
import { useDebounceFn, onKeyStroke } from '@vueuse/core';
import { useRouteStore } from '@/store';
import type { RouteList } from './types';

View File

@ -22,7 +22,6 @@
<script lang="ts" setup>
import { computed } from 'vue';
import { NScrollbar } from 'naive-ui';
import { Icon } from '@iconify/vue';
import { useThemeStore } from '@/store';
import type { RouteList } from './types';

View File

@ -6,7 +6,6 @@
</template>
<script lang="ts" setup>
import { NButton } from 'naive-ui';
import { useAppStore } from '@/store';
const app = useAppStore();

View File

@ -31,7 +31,6 @@
<script setup lang="ts">
import { ref, computed, watch } from 'vue';
import { useRoute } from 'vue-router';
import { NScrollbar, NMenu } from 'naive-ui';
import type { MenuOption } from 'naive-ui';
import { DarkModeContainer } from '@/components';
import { useAppStore, useThemeStore } from '@/store';

View File

@ -23,7 +23,6 @@
<script setup lang="ts">
import { computed, ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import { NScrollbar } from 'naive-ui';
import { DarkModeContainer } from '@/components';
import { useAppStore, useThemeStore, useRouteStore } from '@/store';
import { useRouterPush } from '@/composables';

View File

@ -17,7 +17,6 @@
<script setup lang="ts">
import { computed, ref, watch } from 'vue';
import { useRoute } from 'vue-router';
import { NScrollbar, NMenu } from 'naive-ui';
import type { MenuOption } from 'naive-ui';
import { useAppStore, useThemeStore, useRouteStore } from '@/store';
import { useRouterPush } from '@/composables';

View File

@ -12,7 +12,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { NDropdown } from 'naive-ui';
import type { DropdownOption } from 'naive-ui';
import { useAppStore, useTabStore } from '@/store';
import { iconifyRender } from '@/utils';

View File

@ -13,7 +13,6 @@
</template>
<script lang="ts" setup>
import { NDivider, NSwitch } from 'naive-ui';
import { useThemeStore } from '@/store';
const theme = useThemeStore();

View File

@ -11,7 +11,6 @@
</template>
<script setup lang="ts">
import { NButton } from 'naive-ui';
import { useAppStore } from '@/store';
const app = useAppStore();

View File

@ -17,7 +17,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { NTooltip } from 'naive-ui';
import type { FollowerPlacement } from 'vueuc';
import { EnumThemeLayoutMode } from '@/enum';
import type { ThemeLayoutMode } from '@/interface';

View File

@ -13,7 +13,6 @@
</template>
<script setup lang="ts">
import { NDivider, NSpace } from 'naive-ui';
import { useThemeStore } from '@/store';
import { LayoutCheckbox } from './components';

View File

@ -59,7 +59,6 @@
</template>
<script lang="ts" setup>
import { NDivider, NSpace, NSwitch, NSelect, NInputNumber } from 'naive-ui';
import { useThemeStore } from '@/store';
import SettingMenu from '../SettingMenu/index.vue';

View File

@ -35,7 +35,6 @@
</template>
<script lang="ts" setup>
import { NDivider, NSpace, NSwitch, NSelect } from 'naive-ui';
import { useThemeStore } from '@/store';
import SettingMenu from '../SettingMenu/index.vue';

View File

@ -23,7 +23,6 @@
</template>
<script setup lang="ts">
import { NModal, NGradientText, NTabs, NTabPane, NGrid, NGridItem } from 'naive-ui';
import { traditionColors } from '@/settings';
import { useThemeStore } from '@/store';
import ColorCheckbox from './ColorCheckbox.vue';

View File

@ -14,7 +14,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { NDivider, NGrid, NGridItem, NSpace, NButton, NColorPicker } from 'naive-ui';
import { isInTraditionColors } from '@/settings';
import { useThemeStore } from '@/store';
import { useBoolean } from '@/hooks';

View File

@ -11,7 +11,6 @@
<script setup lang="ts">
import { ref, watch, onMounted, onUnmounted } from 'vue';
import { NDivider, NSpace, NButton } from 'naive-ui';
import Clipboard from 'clipboard';
import { useThemeStore } from '@/store';

View File

@ -13,7 +13,6 @@
</template>
<script setup lang="ts">
import { NDrawer, NDrawerContent } from 'naive-ui';
import { useAppStore } from '@/store';
import { DrawerButton, DarkMode, LayoutMode, ThemeColorSelect, PageFunc, PageView, ThemeConfig } from './components';

View File

@ -1,5 +1,5 @@
import { createApp } from 'vue';
import { setupAssets } from '@/plugins';
import { setupAssets, setupNaiveUI } from '@/plugins';
import { setupRouter } from '@/router';
import { setupStore } from '@/store';
import { setupDirectives } from '@/directives';
@ -17,6 +17,9 @@ async function setupApp() {
// 挂载自定义vue指令
setupDirectives(app);
// 按需引入naiveUI
setupNaiveUI(app);
// 挂载路由
await setupRouter(app);

View File

@ -1,3 +1,4 @@
import setupAssets from './assets';
import setupNaiveUI from './naive';
export { setupAssets };
export { setupAssets, setupNaiveUI };

103
src/plugins/naive.ts Normal file
View File

@ -0,0 +1,103 @@
import type { App } from 'vue';
import {
create,
NBreadcrumb,
NBreadcrumbItem,
NButton,
NCard,
NCheckbox,
NColorPicker,
NConfigProvider,
NDataTable,
NDescriptions,
NDescriptionsItem,
NDialogProvider,
NDivider,
NDrawer,
NDrawerContent,
NDropdown,
NEmpty,
NForm,
NFormItem,
NGradientText,
NGrid,
NGridItem,
NInput,
NInputGroup,
NInputNumber,
NList,
NListItem,
NLoadingBarProvider,
NModal,
NMenu,
NMessageProvider,
NNotificationProvider,
NPopover,
NScrollbar,
NSelect,
NSpace,
NStatistic,
NSwitch,
NSpin,
NTabs,
NTabPane,
NTag,
NThing,
NTimeline,
NTimelineItem,
NTooltip
} from 'naive-ui';
/** 按需引入naiveUI */
export default function setupNaiveUI(app: App) {
const naive = create({
components: [
NBreadcrumb,
NBreadcrumbItem,
NButton,
NCard,
NCheckbox,
NColorPicker,
NConfigProvider,
NDataTable,
NDescriptions,
NDescriptionsItem,
NDialogProvider,
NDivider,
NDrawer,
NDrawerContent,
NDropdown,
NEmpty,
NForm,
NFormItem,
NGradientText,
NGrid,
NGridItem,
NInput,
NInputGroup,
NInputNumber,
NList,
NListItem,
NLoadingBarProvider,
NModal,
NMenu,
NMessageProvider,
NNotificationProvider,
NPopover,
NScrollbar,
NSelect,
NSpace,
NStatistic,
NSwitch,
NSpin,
NTabs,
NTabPane,
NTag,
NThing,
NTimeline,
NTimelineItem,
NTooltip
]
});
app.use(naive);
}

View File

@ -9,7 +9,6 @@
</template>
<script setup lang="ts">
import { NCard, NDescriptions, NDescriptionsItem } from 'naive-ui';
import { pkgJson } from '../model';
const { devDependencies } = pkgJson;

View File

@ -9,7 +9,6 @@
</template>
<script setup lang="ts">
import { NCard, NDescriptions, NDescriptionsItem } from 'naive-ui';
import { pkgJson } from '../model';
const { dependencies } = pkgJson;

View File

@ -18,7 +18,6 @@
</template>
<script setup lang="ts">
import { NCard, NDescriptions, NDescriptionsItem, NTag } from 'naive-ui';
import { pkgJson } from '../model';
const { version } = pkgJson;

View File

@ -7,7 +7,5 @@
</n-card>
</template>
<script setup lang="ts">
import { NCard } from 'naive-ui';
</script>
<script setup lang="ts"></script>
<style scoped></style>

View File

@ -8,7 +8,6 @@
</template>
<script setup lang="ts">
import { NSpace } from 'naive-ui';
import { ProjectIntroduction, ProjectInfo, ProDependency, DevDependency } from './components';
</script>
<style scoped></style>

View File

@ -35,7 +35,6 @@
</template>
<script setup lang="ts">
import { NCard, NGrid, NGridItem, NSpace, NButton } from 'naive-ui';
import type { ButtonProps } from 'naive-ui';
import { Icon } from '@iconify/vue';
import { useLoading } from '@/hooks';

View File

@ -37,7 +37,5 @@
</div>
</template>
<script setup lang="ts">
import { NCard, NSpace } from 'naive-ui';
</script>
<script setup lang="ts"></script>
<style scoped></style>

View File

@ -16,7 +16,6 @@
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { NCard, NSpace, NButton, NDataTable } from 'naive-ui';
import type { DataTableColumn } from 'naive-ui';
import { LoadingEmptyWrapper } from '@/components';
import { useLoadingEmpty } from '@/hooks';

View File

@ -21,7 +21,7 @@
<script setup lang="ts">
import { h } from 'vue';
import { NGrid, NGridItem, NCard, NTimeline, NTimelineItem, NDataTable, NTag } from 'naive-ui';
import { NTag } from 'naive-ui';
interface TimelineData {
type: 'default' | 'info' | 'success' | 'warning' | 'error';

View File

@ -18,7 +18,6 @@
</template>
<script setup lang="ts">
import { NGrid, NGridItem } from 'naive-ui';
import { Icon } from '@iconify/vue';
import { CountTo } from '@/components';
import { GradientBg } from './components';

View File

@ -32,7 +32,6 @@
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { NGrid, NGridItem, NCard, NButton } from 'naive-ui';
import { Line, Pie } from '@antv/g2plot';
import { CountTo } from '@/components';
import data from './data.json';

View File

@ -7,7 +7,6 @@
</template>
<script lang="ts" setup>
import { NSpace } from 'naive-ui';
import { TopChart, DataCard, BottomPart } from './components';
</script>
<style scoped></style>

View File

@ -16,7 +16,6 @@
</template>
<script setup lang="ts">
import { NCard, NSpace, NStatistic } from 'naive-ui';
import { useAuthStore } from '@/store';
interface StatisticData {

View File

@ -47,7 +47,6 @@
</template>
<script setup lang="ts">
import { NGrid, NGridItem, NSpace, NCard, NList, NListItem, NThing } from 'naive-ui';
import { SvgBanner } from '@/components';
import { TechnologyCard, ShortcutsCard } from './components';

View File

@ -5,7 +5,6 @@
</n-space>
</template>
<script lang="ts" setup>
import { NSpace } from 'naive-ui';
import { WorkbenchHeader, WorkbenchMain } from './components';
</script>
<style scoped></style>

View File

@ -4,7 +4,5 @@
</div>
</template>
<script setup lang="ts">
import { NCard } from 'naive-ui';
</script>
<script setup lang="ts"></script>
<style scoped></style>

View File

@ -4,7 +4,5 @@
</div>
</template>
<script setup lang="ts">
import { NCard } from 'naive-ui';
</script>
<script setup lang="ts"></script>
<style scoped></style>

View File

@ -11,24 +11,22 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { NCard, NInputGroup, NInput, NButton, useMessage } from 'naive-ui';
import { useClipboard } from '@vueuse/core';
const source = ref('');
const message = useMessage();
const { copy, isSupported } = useClipboard();
function handleCopy() {
if (!isSupported) {
message.error('您的浏览器不支持Clipboard API');
window.$message?.error('您的浏览器不支持Clipboard API');
return;
}
if (!source.value) {
message.error('请输入要复制的内容');
window.$message?.error('请输入要复制的内容');
return;
}
copy(source.value);
message.success(`复制成功:${source.value}`);
window.$message?.success(`复制成功:${source.value}`);
}
</script>
<style scoped></style>

View File

@ -11,7 +11,6 @@
<script setup lang="ts">
import { ref, watch, onMounted, onUnmounted } from 'vue';
import { NCard } from 'naive-ui';
import Vditor from 'vditor';
import 'vditor/src/assets/scss/index.scss';
import { GithubLink } from '@/components';

View File

@ -11,7 +11,6 @@
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { NCard } from 'naive-ui';
import WangEditor from 'wangeditor';
import { GithubLink } from '@/components';

View File

@ -21,7 +21,6 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { NCard } from 'naive-ui';
import { Icon } from '@iconify/vue';
import { IconSelect, WebSiteLink } from '@/components';
import { icons } from './icons';

View File

@ -12,7 +12,6 @@
<script setup lang="ts">
import type { Component } from 'vue';
import { NCard, NTabs, NTabPane } from 'naive-ui';
import { GaodeMap, TencentMap } from './components';
interface Map {

View File

@ -11,7 +11,6 @@
</template>
<script lang="ts" setup>
import { NCard, NButton } from 'naive-ui';
import printJS from 'print-js';
import { GithubLink } from '@/components';

View File

@ -21,7 +21,6 @@
</template>
<script setup lang="ts">
import { NCard, NSpace } from 'naive-ui';
import SwiperCore, { Navigation, Pagination } from 'swiper';
import { Swiper, SwiperSlide } from 'swiper/vue';
import type { SwiperOptions } from 'swiper';

View File

@ -8,7 +8,6 @@
<script setup lang="ts">
import { ref, onMounted, onUnmounted } from 'vue';
import { NCard } from 'naive-ui';
import Player from 'xgplayer';
const domRef = ref<HTMLElement>();

View File

@ -12,7 +12,6 @@
<script lang="ts" setup>
import { computed } from 'vue';
import type { Component } from 'vue';
import { NButton } from 'naive-ui';
import { SvgNoPermission, SvgNotFound, SvgServiceError } from '@/components';
import { routeName } from '@/router';

View File

@ -21,7 +21,6 @@
<script setup lang="ts">
import { reactive, ref } from 'vue';
import { NForm, NFormItem, NInput, NSpace, NButton } from 'naive-ui';
import type { FormInst } from 'naive-ui';
import { useRouterPush } from '@/composables';
import { useSmsCode } from '@/hooks';

View File

@ -36,7 +36,6 @@
<script setup lang="ts">
import { reactive, ref } from 'vue';
import { NForm, NFormItem, NInput, NSpace, NButton } from 'naive-ui';
import type { FormInst } from 'naive-ui';
import { ImageVerify } from '@/components';
import { useAuthStore } from '@/store';

View File

@ -9,7 +9,5 @@
</n-space>
</template>
<script lang="ts" setup>
import { NSpace, NDivider, NButton } from 'naive-ui';
</script>
<script lang="ts" setup></script>
<style scoped></style>

View File

@ -37,7 +37,6 @@
<script setup lang="ts">
import { reactive, ref } from 'vue';
import { NForm, NFormItem, NInput, NSpace, NCheckbox, NButton } from 'naive-ui';
import type { FormInst, FormRules } from 'naive-ui';
import { EnumLoginModule } from '@/enum';
import { useAuthStore } from '@/store';

View File

@ -28,7 +28,6 @@
<script lang="ts" setup>
import { reactive, ref, toRefs } from 'vue';
import { NForm, NFormItem, NInput, NSpace, NButton } from 'naive-ui';
import type { FormInst, FormRules } from 'naive-ui';
import { LoginAgreement } from '@/components';
import { useRouterPush } from '@/composables';

View File

@ -27,13 +27,11 @@
<script lang="ts" setup>
import { reactive, ref, toRefs } from 'vue';
import { NForm, NFormItem, NInput, NSpace, NButton, useMessage } from 'naive-ui';
import type { FormInst, FormRules } from 'naive-ui';
import { useRouterPush } from '@/composables';
import { useSmsCode } from '@/hooks';
import { formRules, getConfirmPwdRule } from '@/utils';
const message = useMessage();
const { toLoginModule } = useRouterPush();
const { label, isCounting, loading: smsLoading, start } = useSmsCode();
@ -61,9 +59,9 @@ function handleSubmit(e: MouseEvent) {
formRef.value.validate(errors => {
if (!errors) {
message.success('验证成功');
window.$message?.success('验证成功');
} else {
message.error('验证失败');
window.$message?.error('验证失败');
}
});
}

View File

@ -30,7 +30,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import type { Component } from 'vue';
import { NCard, NGradientText } from 'naive-ui';
import { EnumLoginModule } from '@/enum';
import { SystemLogo, DarkModeSwitch } from '@/components';
import { useThemeStore } from '@/store';

View File

@ -18,7 +18,8 @@
"@/*": ["src/*"],
"~/*": ["./*"]
},
"lib": ["esnext", "dom", "dom.iterable", "scripthost"]
"lib": ["esnext", "dom", "dom.iterable", "scripthost"],
"types": ["naive-ui/volar"]
},
"include": ["vite.config.*", "src/typings/*.d.ts", "src/**/*", "src/**/*.vue", "mock/**/*.ts", "build/**/*.ts", ".env-config.ts"],
"exclude": ["/dist/**", "node_modules"]