feat: 引入并注册ElementPlus组件库

This commit is contained in:
ZiuChen 2022-09-18 09:02:42 +08:00
parent c4c787c5d4
commit 5ee1e9ad8c
4 changed files with 209 additions and 3 deletions

View File

@ -5,6 +5,7 @@
},
"dependencies": {
"clipboard-event": "^1.6.0",
"element-plus": "^2.2.17",
"less": "^4.1.3",
"vue": "^3.2.37",
"webpack": "4.37.0"

186
pnpm-lock.yaml generated
View File

@ -4,6 +4,7 @@ specifiers:
'@vue/cli-service': ^5.0.8
clipboard-event: ^1.6.0
copy-webpack-plugin: ^6.0.2
element-plus: ^2.2.17
less: ^4.1.3
less-loader: ^11.0.0
uglifyjs-webpack-plugin: ^2.2.0
@ -13,6 +14,7 @@ specifiers:
dependencies:
clipboard-event: registry.npmmirror.com/clipboard-event/1.6.0
element-plus: registry.npmmirror.com/element-plus/2.2.17_vue@3.2.37
less: registry.npmmirror.com/less/4.1.3
vue: registry.npmmirror.com/vue/3.2.37
webpack: registry.npmmirror.com/webpack/4.37.0
@ -119,6 +121,38 @@ packages:
to-fast-properties: registry.npmmirror.com/to-fast-properties/2.0.0
dev: false
registry.npmmirror.com/@ctrl/tinycolor/3.4.1:
resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz}
name: '@ctrl/tinycolor'
version: 3.4.1
engines: {node: '>=10'}
dev: false
registry.npmmirror.com/@element-plus/icons-vue/2.0.9_vue@3.2.37:
resolution: {integrity: sha512-okdrwiVeKBmW41Hkl0eMrXDjzJwhQMuKiBOu17rOszqM+LS/yBYpNQNV5Jvoh06Wc+89fMmb/uhzf8NZuDuUaQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.9.tgz}
id: registry.npmmirror.com/@element-plus/icons-vue/2.0.9
name: '@element-plus/icons-vue'
version: 2.0.9
peerDependencies:
vue: ^3.2.0
dependencies:
vue: registry.npmmirror.com/vue/3.2.37
dev: false
registry.npmmirror.com/@floating-ui/core/1.0.1:
resolution: {integrity: sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@floating-ui/core/-/core-1.0.1.tgz}
name: '@floating-ui/core'
version: 1.0.1
dev: false
registry.npmmirror.com/@floating-ui/dom/1.0.1:
resolution: {integrity: sha512-wBDiLUKWU8QNPNOTAFHiIAkBv1KlHauG2AhqjSeh2H+wR8PX+AArXfz8NkRexH5PgMJMmSOS70YS89AbWYh5dA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.0.1.tgz}
name: '@floating-ui/dom'
version: 1.0.1
dependencies:
'@floating-ui/core': registry.npmmirror.com/@floating-ui/core/1.0.1
dev: false
registry.npmmirror.com/@gar/promisify/1.1.3:
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz}
name: '@gar/promisify'
@ -297,6 +331,12 @@ packages:
version: 1.0.2
dev: true
registry.npmmirror.com/@sxzz/popperjs-es/2.11.7:
resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz}
name: '@sxzz/popperjs-es'
version: 2.11.7
dev: false
registry.npmmirror.com/@trysound/sax/0.2.0:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz}
name: '@trysound/sax'
@ -403,6 +443,20 @@ packages:
version: 7.0.11
dev: true
registry.npmmirror.com/@types/lodash-es/4.17.6:
resolution: {integrity: sha512-R+zTeVUKDdfoRxpAryaQNRKk3105Rrgx2CFRClIgRGaqDTdjsm8h6IYA8ir584W3ePzkZfst5xIgDwYrlh9HLg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.6.tgz}
name: '@types/lodash-es'
version: 4.17.6
dependencies:
'@types/lodash': registry.npmmirror.com/@types/lodash/4.14.185
dev: false
registry.npmmirror.com/@types/lodash/4.14.185:
resolution: {integrity: sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/lodash/-/lodash-4.14.185.tgz}
name: '@types/lodash'
version: 4.14.185
dev: false
registry.npmmirror.com/@types/mime/3.0.1:
resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz}
name: '@types/mime'
@ -476,6 +530,12 @@ packages:
'@types/node': registry.npmmirror.com/@types/node/18.7.3
dev: true
registry.npmmirror.com/@types/web-bluetooth/0.0.15:
resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz}
name: '@types/web-bluetooth'
version: 0.0.15
dev: false
registry.npmmirror.com/@types/ws/8.5.3:
resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@types/ws/-/ws-8.5.3.tgz}
name: '@types/ws'
@ -877,6 +937,39 @@ packages:
version: 1.3.0
dev: true
registry.npmmirror.com/@vueuse/core/9.2.0_vue@3.2.37:
resolution: {integrity: sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vueuse/core/-/core-9.2.0.tgz}
id: registry.npmmirror.com/@vueuse/core/9.2.0
name: '@vueuse/core'
version: 9.2.0
dependencies:
'@types/web-bluetooth': registry.npmmirror.com/@types/web-bluetooth/0.0.15
'@vueuse/metadata': registry.npmmirror.com/@vueuse/metadata/9.2.0
'@vueuse/shared': registry.npmmirror.com/@vueuse/shared/9.2.0_vue@3.2.37
vue-demi: registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.37
transitivePeerDependencies:
- '@vue/composition-api'
- vue
dev: false
registry.npmmirror.com/@vueuse/metadata/9.2.0:
resolution: {integrity: sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.2.0.tgz}
name: '@vueuse/metadata'
version: 9.2.0
dev: false
registry.npmmirror.com/@vueuse/shared/9.2.0_vue@3.2.37:
resolution: {integrity: sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@vueuse/shared/-/shared-9.2.0.tgz}
id: registry.npmmirror.com/@vueuse/shared/9.2.0
name: '@vueuse/shared'
version: 9.2.0
dependencies:
vue-demi: registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.37
transitivePeerDependencies:
- '@vue/composition-api'
- vue
dev: false
registry.npmmirror.com/@webassemblyjs/ast/1.11.1:
resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.1.tgz}
name: '@webassemblyjs/ast'
@ -1449,6 +1542,12 @@ packages:
version: 1.0.3
optional: true
registry.npmmirror.com/async-validator/4.2.5:
resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz}
name: async-validator
version: 4.2.5
dev: false
registry.npmmirror.com/async/2.6.4:
resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/async/-/async-2.6.4.tgz}
name: async
@ -2778,6 +2877,12 @@ packages:
name: cyclist
version: 1.0.1
registry.npmmirror.com/dayjs/1.11.5:
resolution: {integrity: sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/dayjs/-/dayjs-1.11.5.tgz}
name: dayjs
version: 1.11.5
dev: false
registry.npmmirror.com/de-indent/1.0.2:
resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz}
name: de-indent
@ -3058,6 +3163,34 @@ packages:
version: 1.4.219
dev: true
registry.npmmirror.com/element-plus/2.2.17_vue@3.2.37:
resolution: {integrity: sha512-MGwMIE/q+FFD3kgS23x8HIe5043tmD1cTRwjhIX9o6fim1avFnUkrsfYRvybbz4CkyqSb185EheZS5AUPpXh2g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/element-plus/-/element-plus-2.2.17.tgz}
id: registry.npmmirror.com/element-plus/2.2.17
name: element-plus
version: 2.2.17
peerDependencies:
vue: ^3.2.0
dependencies:
'@ctrl/tinycolor': registry.npmmirror.com/@ctrl/tinycolor/3.4.1
'@element-plus/icons-vue': registry.npmmirror.com/@element-plus/icons-vue/2.0.9_vue@3.2.37
'@floating-ui/dom': registry.npmmirror.com/@floating-ui/dom/1.0.1
'@popperjs/core': registry.npmmirror.com/@sxzz/popperjs-es/2.11.7
'@types/lodash': registry.npmmirror.com/@types/lodash/4.14.185
'@types/lodash-es': registry.npmmirror.com/@types/lodash-es/4.17.6
'@vueuse/core': registry.npmmirror.com/@vueuse/core/9.2.0_vue@3.2.37
async-validator: registry.npmmirror.com/async-validator/4.2.5
dayjs: registry.npmmirror.com/dayjs/1.11.5
escape-html: registry.npmmirror.com/escape-html/1.0.3
lodash: registry.npmmirror.com/lodash/4.17.21
lodash-es: registry.npmmirror.com/lodash-es/4.17.21
lodash-unified: registry.npmmirror.com/lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u
memoize-one: registry.npmmirror.com/memoize-one/6.0.0
normalize-wheel-es: registry.npmmirror.com/normalize-wheel-es/1.2.0
vue: registry.npmmirror.com/vue/3.2.37
transitivePeerDependencies:
- '@vue/composition-api'
dev: false
registry.npmmirror.com/elliptic/6.5.4:
resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/elliptic/-/elliptic-6.5.4.tgz}
name: elliptic
@ -3164,7 +3297,6 @@ packages:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz}
name: escape-html
version: 1.0.3
dev: true
registry.npmmirror.com/escape-string-regexp/1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz}
@ -4659,6 +4791,27 @@ packages:
p-locate: registry.npmmirror.com/p-locate/4.1.0
dev: true
registry.npmmirror.com/lodash-es/4.17.21:
resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz}
name: lodash-es
version: 4.17.21
dev: false
registry.npmmirror.com/lodash-unified/1.0.2_3ib2ivapxullxkx3xftsimdk7u:
resolution: {integrity: sha512-OGbEy+1P+UT26CYi4opY4gebD8cWRDxAT6MAObIVQMiqYdxZr1g3QHWCToVsm31x2NkLS4K3+MC2qInaRMa39g==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.2.tgz}
id: registry.npmmirror.com/lodash-unified/1.0.2
name: lodash-unified
version: 1.0.2
peerDependencies:
'@types/lodash-es': '*'
lodash: '*'
lodash-es: '*'
dependencies:
'@types/lodash-es': registry.npmmirror.com/@types/lodash-es/4.17.6
lodash: registry.npmmirror.com/lodash/4.17.21
lodash-es: registry.npmmirror.com/lodash-es/4.17.21
dev: false
registry.npmmirror.com/lodash.defaultsdeep/4.6.1:
resolution: {integrity: sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz}
name: lodash.defaultsdeep
@ -4687,7 +4840,6 @@ packages:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz}
name: lodash
version: 4.17.21
dev: true
registry.npmmirror.com/log-symbols/4.1.0:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz}
@ -4819,6 +4971,12 @@ packages:
fs-monkey: registry.npmmirror.com/fs-monkey/1.0.3
dev: true
registry.npmmirror.com/memoize-one/6.0.0:
resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz}
name: memoize-one
version: 6.0.0
dev: false
registry.npmmirror.com/memory-fs/0.4.1:
resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/memory-fs/-/memory-fs-0.4.1.tgz}
name: memory-fs
@ -5304,6 +5462,12 @@ packages:
engines: {node: '>=10'}
dev: true
registry.npmmirror.com/normalize-wheel-es/1.2.0:
resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz}
name: normalize-wheel-es
version: 1.2.0
dev: false
registry.npmmirror.com/npm-run-path/2.0.2:
resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz}
name: npm-run-path
@ -7788,6 +7952,24 @@ packages:
name: vm-browserify
version: 1.1.2
registry.npmmirror.com/vue-demi/0.13.11_vue@3.2.37:
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz}
id: registry.npmmirror.com/vue-demi/0.13.11
name: vue-demi
version: 0.13.11
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
peerDependencies:
'@vue/composition-api': ^1.0.0-rc.1
vue: ^3.0.0-0 || ^2.6.0
peerDependenciesMeta:
'@vue/composition-api':
optional: true
dependencies:
vue: registry.npmmirror.com/vue/3.2.37
dev: false
registry.npmmirror.com/vue-hot-reload-api/2.3.4:
resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==, registry: http://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz}
name: vue-hot-reload-api

View File

@ -0,0 +1,22 @@
import 'element-plus/theme-chalk/base.css'
import 'element-plus/theme-chalk/dark/css-vars.css'
import 'element-plus/theme-chalk/el-overlay.css'
import { ElButton, ElMessageBox } from 'element-plus'
const components = [ElButton, ElMessageBox]
export default function registerElement(app) {
components.forEach((c) => {
let name = transferCamel(c.name)
if (name === 'message-box') name = 'el-message-box'
require(`element-plus/theme-chalk/${name}.css`)
app.component(name, c)
})
}
function transferCamel(camel) {
return camel
.replace(/([A-Z])/g, '-$1')
.toLowerCase()
.slice(1)
}

View File

@ -1,9 +1,10 @@
import { createApp } from 'vue'
import App from './App.vue'
import less from 'less'
import registerElement from './global/registerElement'
const app = createApp(App)
app.use(less)
app.use(less).use(registerElement)
app.mount('#app')