From 4f81743f9038f08a41d7bd963385307273d2b8b5 Mon Sep 17 00:00:00 2001 From: litao <897262216@qq.com> Date: Sun, 14 Nov 2021 10:28:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=9C=80=E5=BC=95=E5=85=A5NaiveUi?= =?UTF-8?q?=E5=B9=B6=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA.d.ts=E5=A3=B0?= =?UTF-8?q?=E6=98=8E=EF=BC=8C=E5=9C=A8volar=E4=B8=AD=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=8F=AF=E8=8E=B7=E5=BE=97=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E5=92=8C=E7=B1=BB=E5=9E=8B=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintignore | 1 + .gitignore | 1 + build/vite/plugin/index.ts | 8 +++++ package.json | 1 + tsconfig.json | 3 +- yarn.lock | 70 +++++++++++++++++++++++++++++++++++++- 6 files changed, 82 insertions(+), 2 deletions(-) diff --git a/.eslintignore b/.eslintignore index 348631b..ba451a8 100644 --- a/.eslintignore +++ b/.eslintignore @@ -13,3 +13,4 @@ dist .local /bin Dockerfile +components.d.ts diff --git a/.gitignore b/.gitignore index 88d2d86..2064efb 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ pnpm-debug.log* *.njsproj *.sln *.sw? +/components.d.ts diff --git a/build/vite/plugin/index.ts b/build/vite/plugin/index.ts index e6104bd..ce7dd72 100644 --- a/build/vite/plugin/index.ts +++ b/build/vite/plugin/index.ts @@ -1,4 +1,6 @@ import type { Plugin } from 'vite'; +import Components from 'unplugin-vue-components/vite'; +import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; @@ -15,6 +17,12 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean, prodMock) vue(), // have to vueJsx(), + + // 按需引入NaiveUi且自动创建组件声明 + Components({ + dts: true, + resolvers: [NaiveUiResolver()], + }), ]; // vite-plugin-html diff --git a/package.json b/package.json index 9de67ad..d15a8f3 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "stylelint-scss": "^3.19.0", "tailwindcss": "^2.2.7", "typescript": "^4.4.3", + "unplugin-vue-components": "^0.17.2", "vite": "^2.5.10", "vite-plugin-compression": "^0.3.1", "vite-plugin-html": "^2.0.7", diff --git a/tsconfig.json b/tsconfig.json index c19b8ca..d2068e1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -38,7 +38,7 @@ ] } }, - "include": [ + "includes": [ "src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", @@ -48,6 +48,7 @@ "build/**/*.ts", "build/**/*.d.ts", "mock/**/*.ts", + "components.d.ts", "vite.config.ts" ], "exclude": [ diff --git a/yarn.lock b/yarn.lock index cefc4b8..075bf4c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,6 +25,13 @@ "@types/lodash" "^4.14.165" lodash "^4.17.15" +"@antfu/utils@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.3.0.tgz#6306c43b52a883bd8e973e3ed8dd64248418bcc4" + integrity sha512-UU8TLr/EoXdg7OjMp0h9oDoIAVr+Z/oW9cpOxQQyrsz6Qzd2ms/1CdWx8fl2OQdFpxGmq5Vc4TwfLHId6nAZjA== + dependencies: + "@types/throttle-debounce" "^2.1.0" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -1284,6 +1291,11 @@ resolved "https://registry.nlark.com/@types/stack-utils/download/@types/stack-utils-2.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fstack-utils%2Fdownload%2F%40types%2Fstack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha1-IPGClPeX8iCbX2XI47XI6CYdEnw= +"@types/throttle-debounce@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776" + integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== + "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" @@ -2044,6 +2056,13 @@ builtin-modules@^3.1.0: resolved "https://registry.npm.taobao.org/builtin-modules/download/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" integrity sha1-RdXbmefuXmvE82LgCL+RerUEmIc= +builtins@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-4.0.0.tgz#a8345420de82068fdc4d6559d0456403a8fb1905" + integrity sha512-qC0E2Dxgou1IHhvJSLwGDSTvokbRovU5zZFuDY6oY8Y2lF3nGt5Ad8YZK7GMtqzY84Wu7pXTPeHQeHcXSXsRhw== + dependencies: + semver "^7.0.0" + bytes@^3.0.0: version "3.1.0" resolved "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" @@ -3904,6 +3923,13 @@ import-local@^3.0.2: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" +import-meta-resolve@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-1.1.1.tgz#244fd542fd1fae73550d4f8b3cde3bba1d7b2b18" + integrity sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A== + dependencies: + builtins "^4.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -4845,6 +4871,13 @@ listr2@^3.8.2: through "^2.3.8" wrap-ansi "^7.0.0" +local-pkg@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.1.0.tgz#7422b2ae8fc1e3b9ef2f132b0a0e92d879df52ef" + integrity sha512-WsR2tHvRGIxcC2clC30ECb5fjywzsjQagaHIy1+ykZaHz0ByoB0OL2riHqIYA5YYnensRXLszwbzHkhKzehZDg== + dependencies: + mlly "^0.2.2" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -5156,6 +5189,13 @@ mitt@^2.1.0: resolved "https://registry.npmjs.org/mitt/-/mitt-2.1.0.tgz#f740577c23176c6205b121b2973514eade1b2230" integrity sha512-ILj2TpLiysu2wkBbWjAmww7TkZb65aiQO+DkVdUTBpBXq+MHYiETENkKFMtsJZX1Lf4pe4QOrTSjIfUwN5lRdg== +mlly@^0.2.2: + version "0.2.10" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-0.2.10.tgz#645902c9761dc6b5ded174b8e717147fe52e4893" + integrity sha512-xfyW6c2QBGArtctzNnTV5leOKX8nOMz2simeubtXofdsdSJFSNw+Ncvrs8kxcN3pBrQLXuYBHNFV6NgZ5Ryf4A== + dependencies: + import-meta-resolve "^1.1.1" + mockjs@^1.1.0: version "1.1.0" resolved "https://registry.npm.taobao.org/mockjs/download/mockjs-1.1.0.tgz#e6a0c378e91906dbaff20911cc0273b3c7d75b06" @@ -6196,7 +6236,7 @@ semver-compare@^1.0.0: resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.5, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@7.3.5, semver@^7.0.0, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -6946,6 +6986,29 @@ unpipe@~1.0.0: resolved "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= +unplugin-vue-components@^0.17.2: + version "0.17.2" + resolved "https://registry.yarnpkg.com/unplugin-vue-components/-/unplugin-vue-components-0.17.2.tgz#db7e669fac3cc36b87ba056f63e2eaa47a7f1b9b" + integrity sha512-e4ZdOpnzFMQJx3rDLotLyucTap0bUlMy+6BRYyoN6jE1ZyGAgR6jodmpHZAPR3xkC4pkqW5PLlyDfIH/+lzkng== + dependencies: + "@antfu/utils" "^0.3.0" + "@rollup/pluginutils" "^4.1.1" + chokidar "^3.5.2" + debug "^4.3.2" + fast-glob "^3.2.7" + local-pkg "^0.1.0" + magic-string "^0.25.7" + minimatch "^3.0.4" + resolve "^1.20.0" + unplugin "^0.2.13" + +unplugin@^0.2.13: + version "0.2.20" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.2.20.tgz#fd579b8f302459eb1ae3616f71c2ba93e6076187" + integrity sha512-CGnCaTqNjqeixpIlNEkpysxfR2hb4xv21xa4IURXnhYTfCp73UWuG0KcdanuhFJbwO5w+EGK4XaAaqdb/1vWbg== + dependencies: + webpack-virtual-modules "^0.4.3" + upper-case-first@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" @@ -7219,6 +7282,11 @@ webidl-conversions@^6.1.0: resolved "https://registry.nlark.com/webidl-conversions/download/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha1-kRG01+qArNQPUnDWZmIa+ni2lRQ= +webpack-virtual-modules@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz#cd597c6d51d5a5ecb473eea1983a58fa8a17ded9" + integrity sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw== + whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.nlark.com/whatwg-encoding/download/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"