From 07b8fbbe6add05ccb9026f74f1ad308ea915535b Mon Sep 17 00:00:00 2001 From: Huang <596417202@qq.com> Date: Mon, 21 Nov 2022 11:24:25 +0800 Subject: [PATCH] wip-Iconify Component --- package.json | 5 +- pnpm-lock.yaml | 181 ++++++++++++++++++++++++++++--- src/components/Iconify/index.vue | 19 ++++ src/main.ts | 1 + src/pages/index/index.vue | 8 +- unocss.config.js | 5 + vite.config.ts | 2 + 7 files changed, 204 insertions(+), 17 deletions(-) create mode 100644 src/components/Iconify/index.vue diff --git a/package.json b/package.json index c80ac5f..90baf72 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "@dcloudio/uni-mp-weixin": "^3.0.0-alpha-3061020221118001", "@dcloudio/uni-quickapp-webview": "^3.0.0-alpha-3061020221118001", "@fortawesome/fontawesome-free": "^6.2.1", + "@iconify/iconify": "^3.0.0", "crypto-js": "^4.1.1", "echarts": "^5.4.0", "lodash-es": "^4.17.21", @@ -63,6 +64,7 @@ "@dcloudio/uni-automator": "^3.0.0-alpha-3061020221118001", "@dcloudio/uni-cli-shared": "^3.0.0-alpha-3061020221118001", "@dcloudio/vite-plugin-uni": "^3.0.0-alpha-3061020221118001", + "@iconify/json": "^2.1.140", "@types/crypto-js": "^4.1.1", "@types/lodash-es": "^4.17.6", "@types/node": "^17.0.45", @@ -85,7 +87,8 @@ "unocss-preset-weapp": "^0.2.1", "unplugin-vue-components": "^0.22.9", "vite": "^3.2.4", - "vite-plugin-eslint": "^1.8.1" + "vite-plugin-eslint": "^1.8.1", + "vite-plugin-purge-icons": "^0.9.1" }, "husky": { "hooks": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1934b17..e51e730 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,6 +19,8 @@ specifiers: '@dcloudio/uni-quickapp-webview': ^3.0.0-alpha-3061020221118001 '@dcloudio/vite-plugin-uni': ^3.0.0-alpha-3061020221118001 '@fortawesome/fontawesome-free': ^6.2.1 + '@iconify/iconify': ^3.0.0 + '@iconify/json': ^2.1.140 '@types/crypto-js': ^4.1.1 '@types/lodash-es': ^4.17.6 '@types/node': ^17.0.45 @@ -48,6 +50,7 @@ specifiers: unplugin-vue-components: ^0.22.9 vite: ^3.2.4 vite-plugin-eslint: ^1.8.1 + vite-plugin-purge-icons: ^0.9.1 vue: ^3.2.45 vue-i18n: ^9.2.2 @@ -66,6 +69,7 @@ dependencies: '@dcloudio/uni-mp-weixin': registry.npmmirror.com/@dcloudio/uni-mp-weixin/3.0.0-alpha-3061020221118001_postcss@8.4.19+vue@3.2.45 '@dcloudio/uni-quickapp-webview': registry.npmmirror.com/@dcloudio/uni-quickapp-webview/3.0.0-alpha-3061020221118001_postcss@8.4.19+vue@3.2.45 '@fortawesome/fontawesome-free': registry.npmmirror.com/@fortawesome/fontawesome-free/6.2.1 + '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/3.0.0 crypto-js: registry.npmmirror.com/crypto-js/4.1.1 echarts: registry.npmmirror.com/echarts/5.4.0 lodash-es: registry.npmmirror.com/lodash-es/4.17.21 @@ -80,6 +84,7 @@ devDependencies: '@dcloudio/uni-automator': registry.npmmirror.com/@dcloudio/uni-automator/3.0.0-alpha-3061020221118001_postcss@8.4.19+vue@3.2.45 '@dcloudio/uni-cli-shared': registry.npmmirror.com/@dcloudio/uni-cli-shared/3.0.0-alpha-3061020221118001_postcss@8.4.19+vue@3.2.45 '@dcloudio/vite-plugin-uni': registry.npmmirror.com/@dcloudio/vite-plugin-uni/3.0.0-alpha-3061020221118001_frjz3sus4jkmj2uem6ddky233y + '@iconify/json': registry.npmmirror.com/@iconify/json/2.1.140 '@types/crypto-js': registry.npmmirror.com/@types/crypto-js/4.1.1 '@types/lodash-es': registry.npmmirror.com/@types/lodash-es/4.17.6 '@types/node': registry.npmmirror.com/@types/node/17.0.45 @@ -101,8 +106,9 @@ devDependencies: unocss: registry.npmmirror.com/unocss/0.46.5_vite@3.2.4 unocss-preset-weapp: registry.npmmirror.com/unocss-preset-weapp/0.2.1 unplugin-vue-components: registry.npmmirror.com/unplugin-vue-components/0.22.9_vue@3.2.45 - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa vite-plugin-eslint: registry.npmmirror.com/vite-plugin-eslint/1.8.1_eslint@8.28.0+vite@3.2.4 + vite-plugin-purge-icons: registry.npmmirror.com/vite-plugin-purge-icons/0.9.1_vite@3.2.4 packages: @@ -1011,7 +1017,7 @@ packages: jsonc-parser: registry.npmmirror.com/jsonc-parser/3.2.0 picocolors: registry.npmmirror.com/picocolors/1.0.0 terser: registry.npmmirror.com/terser/5.15.1 - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa transitivePeerDependencies: - postcss - supports-color @@ -1092,11 +1098,36 @@ packages: version: 1.2.1 dev: true + registry.npmmirror.com/@iconify/iconify/2.1.2: + resolution: {integrity: sha512-QcUzFeEWkE/mW+BVtEGmcWATClcCOIJFiYUD/PiCWuTcdEA297o8D4oN6Ra44WrNOHu1wqNW4J0ioaDIiqaFOQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/iconify/-/iconify-2.1.2.tgz} + name: '@iconify/iconify' + version: 2.1.2 + dependencies: + cross-fetch: registry.npmmirror.com/cross-fetch/3.1.5 + transitivePeerDependencies: + - encoding + dev: true + + registry.npmmirror.com/@iconify/iconify/3.0.0: + resolution: {integrity: sha512-wgCSv4GwVLzwGqfUkYEDT9XOfetGZV67D5CmMYp74IdaPMnyOWb/3XxUPvGmuTt8Yw9xekMqzvdQp/p+a/abNw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/iconify/-/iconify-3.0.0.tgz} + name: '@iconify/iconify' + version: 3.0.0 + dependencies: + '@iconify/types': registry.npmmirror.com/@iconify/types/2.0.0 + + registry.npmmirror.com/@iconify/json/2.1.140: + resolution: {integrity: sha512-P0Omxi71evnAiPFb21nYZD2hnxhstYkQhatvVF+18esDYfDYcrjHjcm0SRfS3dzAALIo03m+jEmJzAj9nDXP5w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/json/-/json-2.1.140.tgz} + name: '@iconify/json' + version: 2.1.140 + dependencies: + '@iconify/types': registry.npmmirror.com/@iconify/types/2.0.0 + pathe: registry.npmmirror.com/pathe/0.3.9 + dev: true + registry.npmmirror.com/@iconify/types/2.0.0: resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz} name: '@iconify/types' version: 2.0.0 - dev: true registry.npmmirror.com/@iconify/utils/2.0.2: resolution: {integrity: sha512-13B3wJxDLmSNBEIEpKleKSkJVQgdAy9ra3Xsu233i/5qD5yXBGhpOFxTB/k8cqme0xVsMKBPV5vbvq9MgQlX+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@iconify/utils/-/utils-2.0.2.tgz} @@ -1262,7 +1293,6 @@ packages: dependencies: '@jridgewell/gen-mapping': registry.npmmirror.com/@jridgewell/gen-mapping/0.3.2 '@jridgewell/trace-mapping': registry.npmmirror.com/@jridgewell/trace-mapping/0.3.17 - dev: true registry.npmmirror.com/@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz} @@ -1315,6 +1345,29 @@ packages: version: 1.0.0-next.21 dev: true + registry.npmmirror.com/@purge-icons/core/0.9.1: + resolution: {integrity: sha512-sx8/a30MbbqQVEqhuMPE1wJpdVRRbEmwEPZpFzVkcDixzX4p+R2A0WVxqkb0xfHUBAVQwrSE2SeAyniIQLqbLw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@purge-icons/core/-/core-0.9.1.tgz} + name: '@purge-icons/core' + version: 0.9.1 + dependencies: + '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/2.1.2 + axios: registry.npmmirror.com/axios/0.26.1_debug@4.3.4 + debug: registry.npmmirror.com/debug/4.3.4 + fast-glob: registry.npmmirror.com/fast-glob/3.2.12 + fs-extra: registry.npmmirror.com/fs-extra/10.1.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + registry.npmmirror.com/@purge-icons/generated/0.9.0: + resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@purge-icons/generated/-/generated-0.9.0.tgz} + name: '@purge-icons/generated' + version: 0.9.0 + dependencies: + '@iconify/iconify': registry.npmmirror.com/@iconify/iconify/3.0.0 + dev: true + registry.npmmirror.com/@rollup/pluginutils/4.2.1: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz} name: '@rollup/pluginutils' @@ -1776,7 +1829,7 @@ packages: '@unocss/scope': registry.npmmirror.com/@unocss/scope/0.46.5 '@unocss/transformer-directives': registry.npmmirror.com/@unocss/transformer-directives/0.46.5 magic-string: registry.npmmirror.com/magic-string/0.26.7 - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa transitivePeerDependencies: - rollup dev: true @@ -1797,7 +1850,7 @@ packages: regenerator-runtime: registry.npmmirror.com/regenerator-runtime/0.13.11 systemjs: registry.npmmirror.com/systemjs/6.13.0 terser: registry.npmmirror.com/terser/5.15.1 - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa dev: true registry.npmmirror.com/@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.4+vue@3.2.45: @@ -1813,7 +1866,7 @@ packages: '@babel/core': registry.npmmirror.com/@babel/core/7.20.2 '@babel/plugin-transform-typescript': registry.npmmirror.com/@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.2 '@vue/babel-plugin-jsx': registry.npmmirror.com/@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.2 - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa vue: registry.npmmirror.com/vue/3.2.45 transitivePeerDependencies: - supports-color @@ -1829,7 +1882,7 @@ packages: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa vue: registry.npmmirror.com/vue/3.2.45 registry.npmmirror.com/@vue/babel-helper-vue-transform-on/1.0.2: @@ -1985,7 +2038,6 @@ packages: version: 8.8.1 engines: {node: '>=0.4.0'} hasBin: true - dev: true registry.npmmirror.com/address/1.2.1: resolution: {integrity: sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/address/-/address-1.2.1.tgz} @@ -2159,6 +2211,17 @@ packages: postcss: registry.npmmirror.com/postcss/8.4.19 postcss-value-parser: registry.npmmirror.com/postcss-value-parser/4.2.0 + registry.npmmirror.com/axios/0.26.1_debug@4.3.4: + resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz} + id: registry.npmmirror.com/axios/0.26.1 + name: axios + version: 0.26.1 + dependencies: + follow-redirects: registry.npmmirror.com/follow-redirects/1.15.2_debug@4.3.4 + transitivePeerDependencies: + - debug + dev: true + registry.npmmirror.com/babel-code-frame/6.26.0: resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz} name: babel-code-frame @@ -2287,7 +2350,6 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz} name: buffer-from version: 1.1.2 - dev: true registry.npmmirror.com/builtins/1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/builtins/-/builtins-1.0.3.tgz} @@ -2577,7 +2639,6 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz} name: commander version: 2.20.3 - dev: true registry.npmmirror.com/commander/9.4.1: resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/commander/-/commander-9.4.1.tgz} @@ -2709,6 +2770,16 @@ packages: cross-spawn: registry.npmmirror.com/cross-spawn/7.0.3 dev: true + registry.npmmirror.com/cross-fetch/3.1.5: + resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-fetch/-/cross-fetch-3.1.5.tgz} + name: cross-fetch + version: 3.1.5 + dependencies: + node-fetch: registry.npmmirror.com/node-fetch/2.6.7 + transitivePeerDependencies: + - encoding + dev: true + registry.npmmirror.com/cross-spawn/5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz} name: cross-spawn @@ -3778,6 +3849,21 @@ packages: version: 3.2.7 dev: true + registry.npmmirror.com/follow-redirects/1.15.2_debug@4.3.4: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz} + id: registry.npmmirror.com/follow-redirects/1.15.2 + name: follow-redirects + version: 1.15.2 + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: registry.npmmirror.com/debug/4.3.4 + dev: true + registry.npmmirror.com/forwarded/0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz} name: forwarded @@ -5169,6 +5255,20 @@ packages: version: 0.1.8 dev: true + registry.npmmirror.com/node-fetch/2.6.7: + resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz} + name: node-fetch + version: 2.6.7 + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: registry.npmmirror.com/whatwg-url/5.0.0 + dev: true + registry.npmmirror.com/node-releases/2.0.6: resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-releases/-/node-releases-2.0.6.tgz} name: node-releases @@ -6056,6 +6156,19 @@ packages: glob: registry.npmmirror.com/glob/7.2.3 dev: true + registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1: + resolution: {integrity: sha512-hRDKBsPUz47UMdBufki2feTmBF2ClEJlYqL7N6vpVAHSLd7V2BJUaNKOF7YYbLMofVVF+9hm44YSkYO6k9hUgg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup-plugin-purge-icons/-/rollup-plugin-purge-icons-0.9.1.tgz} + name: rollup-plugin-purge-icons + version: 0.9.1 + engines: {node: '>= 12'} + dependencies: + '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1 + '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + registry.npmmirror.com/rollup/2.79.1: resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rollup/-/rollup-2.79.1.tgz} name: rollup @@ -6346,7 +6459,6 @@ packages: dependencies: buffer-from: registry.npmmirror.com/buffer-from/1.1.2 source-map: registry.npmmirror.com/source-map/0.6.1 - dev: true registry.npmmirror.com/source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz} @@ -6597,7 +6709,6 @@ packages: acorn: registry.npmmirror.com/acorn/8.8.1 commander: registry.npmmirror.com/commander/2.20.3 source-map-support: registry.npmmirror.com/source-map-support/0.5.21 - dev: true registry.npmmirror.com/text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz} @@ -6662,6 +6773,12 @@ packages: engines: {node: '>=6'} dev: true + registry.npmmirror.com/tr46/0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz} + name: tr46 + version: 0.0.3 + dev: true + registry.npmmirror.com/tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz} name: tslib @@ -7088,10 +7205,28 @@ packages: '@types/eslint': registry.npmmirror.com/@types/eslint/8.4.10 eslint: registry.npmmirror.com/eslint/8.28.0 rollup: registry.npmmirror.com/rollup/2.79.1 - vite: registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa dev: true - registry.npmmirror.com/vite/3.2.4_n6khcd6nwbbqng5r3hmfpt3hqi: + registry.npmmirror.com/vite-plugin-purge-icons/0.9.1_vite@3.2.4: + resolution: {integrity: sha512-oS0Y9Iq6vGnTDVRzB8xJNhA/gGlyR0lfCICU6+9FRKdrO5PnT34fRjvd8YWEsegCrk91+w3GVZc0HJDj/dPp5Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite-plugin-purge-icons/-/vite-plugin-purge-icons-0.9.1.tgz} + id: registry.npmmirror.com/vite-plugin-purge-icons/0.9.1 + name: vite-plugin-purge-icons + version: 0.9.1 + engines: {node: '>= 12'} + peerDependencies: + vite: ^2.0.0-beta.3 || ^3.0.0 + dependencies: + '@purge-icons/core': registry.npmmirror.com/@purge-icons/core/0.9.1 + '@purge-icons/generated': registry.npmmirror.com/@purge-icons/generated/0.9.0 + rollup-plugin-purge-icons: registry.npmmirror.com/rollup-plugin-purge-icons/0.9.1 + vite: registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + registry.npmmirror.com/vite/3.2.4_ban67ve7cgvikm4jdsemv4cbaa: resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vite/-/vite-3.2.4.tgz} id: registry.npmmirror.com/vite/3.2.4 name: vite @@ -7125,6 +7260,7 @@ packages: resolve: registry.npmmirror.com/resolve/1.22.1 rollup: registry.npmmirror.com/rollup/2.79.1 sass: registry.npmmirror.com/sass/1.56.1 + terser: registry.npmmirror.com/terser/5.15.1 optionalDependencies: fsevents: registry.npmmirror.com/fsevents/2.3.2 @@ -7206,6 +7342,12 @@ packages: '@vue/server-renderer': registry.npmmirror.com/@vue/server-renderer/3.2.45_vue@3.2.45 '@vue/shared': registry.npmmirror.com/@vue/shared/3.2.45 + registry.npmmirror.com/webidl-conversions/3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz} + name: webidl-conversions + version: 3.0.1 + dev: true + registry.npmmirror.com/webpack-merge/4.2.2: resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/webpack-merge/-/webpack-merge-4.2.2.tgz} name: webpack-merge @@ -7227,6 +7369,15 @@ packages: version: 0.4.6 dev: true + registry.npmmirror.com/whatwg-url/5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz} + name: whatwg-url + version: 5.0.0 + dependencies: + tr46: registry.npmmirror.com/tr46/0.0.3 + webidl-conversions: registry.npmmirror.com/webidl-conversions/3.0.1 + dev: true + registry.npmmirror.com/which-module/2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/which-module/-/which-module-2.0.0.tgz} name: which-module diff --git a/src/components/Iconify/index.vue b/src/components/Iconify/index.vue new file mode 100644 index 0000000..9ea9fea --- /dev/null +++ b/src/components/Iconify/index.vue @@ -0,0 +1,19 @@ + + + diff --git a/src/main.ts b/src/main.ts index 57fcba0..a63c49a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,6 +3,7 @@ import App from './App.vue'; import { setupStore } from '@/state'; import '@/assets/style/main.scss'; import '@/components/FontAwesomeIcon/index.scss'; +import '@purge-icons/generated'; import 'uno.css'; export function createApp() { diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index b3275b4..1c0b321 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -6,6 +6,7 @@ import { useRouter } from '@/hooks/router'; import { CURRENT_PLATFORM, PLATFORMS } from '@/enums/platformEnum'; import { judgePlatform } from '@/utils/platform'; + import Iconify from '@/components/Iconify/index.vue'; const title = ref('uni-app vue3 ts --Vite'); @@ -33,7 +34,12 @@ 当前平台: {{ platform }} Get Started → - 大丰收的 + uno css + + diff --git a/unocss.config.js b/unocss.config.js index 581ce63..433a42e 100644 --- a/unocss.config.js +++ b/unocss.config.js @@ -1,3 +1,7 @@ +/* + * https://zhuanlan.zhihu.com/p/569976147 + * */ + import presetWeapp from 'unocss-preset-weapp'; import { defineConfig } from 'unocss'; import { @@ -26,6 +30,7 @@ export default defineConfig({ presets: [ // https://github.com/MellowCo/unocss-preset-weapp presetWeapp({ + nonValuedAttribute: true, prefix: 'uno-', }), ], diff --git a/vite.config.ts b/vite.config.ts index 967c3dc..ac05c01 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -4,6 +4,7 @@ import eslintPlugin from 'vite-plugin-eslint'; import { resolve } from 'path'; import { loadEnv } from 'vite'; import Unocss from 'unocss/vite'; +import PurgeIcons from 'vite-plugin-purge-icons'; // https://vitejs.cn/config/ export default ({ mode }: ConfigEnv): UserConfig => { @@ -39,6 +40,7 @@ export default ({ mode }: ConfigEnv): UserConfig => { plugins: [ uni(), Unocss(), + PurgeIcons(), // eslintPlugin({ // include: ['src/**/*.js', 'src/**/*.vue', 'src/**/*.ts'], // exclude: ['./node_modules/**'],