{"_id":"@chuzhi_ccd/the-chuzhi-element","_rev":"2-f12fcbc617d8b0b9038130061f49b7af","name":"@chuzhi_ccd/the-chuzhi-element","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.2":{"name":"@chuzhi_ccd/the-chuzhi-element","version":"1.0.2","keywords":["Component","UI","Vue3"],"author":{"name":"Chuzhi CCD"},"license":"MIT","_id":"@chuzhi_ccd/the-chuzhi-element@1.0.2","maintainers":[{"name":"chuzhi_ccd","email":"1426108995@qq.com"}],"homepage":"http://element.vikingship.xyz/","bugs":{"url":"https://github.com/vikingmute/v-element/issues"},"dist":{"shasum":"1477333248ae173e233f40c18fc9ce0057da5849","tarball":"https://registry.npmjs.org/@chuzhi_ccd/the-chuzhi-element/-/the-chuzhi-element-1.0.2.tgz","fileCount":10,"integrity":"sha512-s7a0WOfGoKMtD9S7YCfK8RvwNU0Qntj/q25Bj77DS6YbgLfBNWdx8eTSxNirDmvKyjc9khVVia5nRMcwO9NhUA==","signatures":[{"sig":"MEQCIG+ZjbDDYe6JJwDXYV68q3H0JLiV/N3Uj9nPCGUkVDm+AiA28u6JpMi8kgUSJvE5+o2jyfxqwB1y5LuWKtOpD10CNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1200686},"main":"./dist/umd/v-element.umd.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/es/v-element.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/es/v-element.js","require":"./dist/umd/v-element.umd.cjs"},"./dist/":{"import":"./dist/","require":"./dist/"}},"scripts":{"dev":"vite","lint":"eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore","build":"npm run build-only && npm run move-style","preview":"vite preview","build-es":"vite build --config vite.es.config.ts","docs:dev":"vitepress dev docs","build-umd":"vite build --config vite.umd.config.ts","build-only":"run-p build-es build-umd","docs:build":"vitepress build docs","move-style":"move-file dist/es/index.css dist/index.css","type-check":"vue-tsc --noEmit","docs:preview":"vitepress preview docs","prepublishOnly":"npm run build"},"_npmUser":{"name":"chuzhi_ccd","email":"1426108995@qq.com"},"repository":{"url":"git+https://github.com/vikingmute/v-element.git","type":"git"},"_npmVersion":"10.9.2","description":"Vue3 components library","directories":{},"sideEffects":["dist/index.css"],"_nodeVersion":"22.16.0","dependencies":{"axios":"^1.3.4","lodash-es":"^4.17.21","@popperjs/core":"^2.11.6","async-validator":"^4.2.5","@fortawesome/vue-fontawesome":"^3.0.3","@fortawesome/fontawesome-svg-core":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.3.4","vite":"^4.0.0","jsdom":"^21.1.0","eslint":"^8.22.0","vitest":"^0.29.2","vue-tsc":"^1.0.12","vitepress":"^1.0.0-alpha.65","typescript":"~4.7.4","@types/node":"^18.11.12","npm-run-all":"^4.1.5","postcss-for":"^2.1.1","postcss-each":"^1.1.0","@vue/tsconfig":"^0.1.3","move-file-cli":"^3.0.0","postcss-nested":"^6.0.1","@vue/test-utils":"^2.3.0","vite-plugin-dts":"^3.5.4","@types/lodash-es":"^4.17.6","@vue-macros/volar":"^0.8.1","eslint-plugin-vue":"^9.3.0","postcss-color-mix":"^1.1.0","@vitejs/plugin-vue":"^4.0.0","vite-plugin-eslint":"^1.8.1","unplugin-vue-macros":"^1.8.1","@vitejs/plugin-vue-jsx":"^3.0.0","postcss-each-variables":"^0.3.0","@rushstack/eslint-patch":"^1.1.4","@vue/eslint-config-typescript":"^11.0.0","@vitepress-demo-preview/plugin":"^1.1.9","@vitepress-demo-preview/component":"^2.3.0"},"peerDependencies":{"vue":"^3.3.4"},"_npmOperationalInternal":{"tmp":"tmp/the-chuzhi-element_1.0.2_1776072170602_0.6928771586438367","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@chuzhi_ccd/the-chuzhi-element","version":"1.0.3","description":"Vue3 components library","type":"module","author":{"name":"Chuzhi CCD"},"license":"MIT","keywords":["Component","UI","Vue3"],"homepage":"http://element.vikingship.xyz/","repository":{"type":"git","url":"git+https://github.com/vikingmute/v-element.git"},"sideEffects":["dist/index.css"],"main":"./dist/umd/v-element.umd.cjs","module":"./dist/es/v-element.js","types":"./dist/types/index.d.ts","exports":{".":{"import":"./dist/es/v-element.js","require":"./dist/umd/v-element.umd.cjs","types":"./dist/types/index.d.ts"},"./dist/":{"import":"./dist/","require":"./dist/"}},"scripts":{"dev":"vite","build":"npm run build-only && npm run move-style","preview":"vite preview","build-only":"run-p build-es build-umd","build-umd":"vite build --config vite.umd.config.ts","build-es":"vite build --config vite.es.config.ts","move-style":"move-file dist/es/index.css dist/index.css","type-check":"vue-tsc --noEmit","lint":"eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore","docs:dev":"vitepress dev docs","docs:build":"vitepress build docs","docs:preview":"vitepress preview docs","prepublishOnly":"npm run build"},"dependencies":{"@fortawesome/fontawesome-svg-core":"^6.3.0","@fortawesome/free-solid-svg-icons":"^6.3.0","@fortawesome/vue-fontawesome":"^3.0.3","@popperjs/core":"^2.11.6","async-validator":"^4.2.5","axios":"^1.3.4","lodash-es":"^4.17.21"},"peerDependencies":{"vue":"^3.3.4"},"devDependencies":{"@rushstack/eslint-patch":"^1.1.4","@types/lodash-es":"^4.17.6","@types/node":"^18.11.12","@vitejs/plugin-vue":"^4.0.0","@vitejs/plugin-vue-jsx":"^3.0.0","@vitepress-demo-preview/component":"^2.3.0","@vitepress-demo-preview/plugin":"^1.1.9","@vue-macros/volar":"^0.8.1","@vue/eslint-config-typescript":"^11.0.0","@vue/test-utils":"^2.3.0","@vue/tsconfig":"^0.1.3","eslint":"^8.22.0","eslint-plugin-vue":"^9.3.0","jsdom":"^21.1.0","move-file-cli":"^3.0.0","npm-run-all":"^4.1.5","postcss-color-mix":"^1.1.0","postcss-each":"^1.1.0","postcss-each-variables":"^0.3.0","postcss-for":"^2.1.1","postcss-nested":"^6.0.1","typescript":"~4.7.4","unplugin-vue-macros":"^1.8.1","vite":"^4.0.0","vite-plugin-dts":"^3.5.4","vite-plugin-eslint":"^1.8.1","vitepress":"^1.0.0-alpha.65","vitest":"^0.29.2","vue":"^3.3.4","vue-tsc":"^1.0.12"},"_id":"@chuzhi_ccd/the-chuzhi-element@1.0.3","bugs":{"url":"https://github.com/vikingmute/v-element/issues"},"_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-TTRrtKpvLnfKRtGZCADTG8XdC2Q8RfKi7BIU4b2ER7x0HaiOg1vV/31KOcvBxw6blia5e9T6tcExMKsYVzXRdw==","shasum":"3a588b543e837ccc2991dc52de3e653ce67e4492","tarball":"https://registry.npmjs.org/@chuzhi_ccd/the-chuzhi-element/-/the-chuzhi-element-1.0.3.tgz","fileCount":10,"unpackedSize":1200794,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDEmXgTo59hBa4GMY0V/04gpEttQMaBxFQ3FGiVrlekuQIhAKblAUwm6nPFHTyqs8g/9tR+Od7RcFkF5JLML7YGWPhf"}]},"_npmUser":{"name":"chuzhi_ccd","email":"1426108995@qq.com"},"directories":{},"maintainers":[{"name":"chuzhi_ccd","email":"1426108995@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/the-chuzhi-element_1.0.3_1776072291007_0.06049576861877992"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T09:22:50.482Z","modified":"2026-04-13T09:24:51.298Z","1.0.2":"2026-04-13T09:22:50.820Z","1.0.3":"2026-04-13T09:24:51.188Z"},"bugs":{"url":"https://github.com/vikingmute/v-element/issues"},"author":{"name":"Chuzhi CCD"},"license":"MIT","homepage":"http://element.vikingship.xyz/","keywords":["Component","UI","Vue3"],"repository":{"type":"git","url":"git+https://github.com/vikingmute/v-element.git"},"description":"Vue3 components library","maintainers":[{"name":"chuzhi_ccd","email":"1426108995@qq.com"}],"readme":"## 进阶必学！最新 Vue3.3 + TS4 高仿 ElementPlus 打造自己的组件库\n\n**v-element** 是为慕课网打造的一套教学组件库，使用最新的 Vue3.3 和 TS， 意在让大家从零到一，由浅入深的提高自己的 Vue 和 typescript 水平，地址： [https://coding.imooc.com/class/693.html](https://coding.imooc.com/class/693.html)\n\n### 安装\n\n\n```bash\nnpm i @vikingmute/v-element --save\n```\n\n### 开始使用\n\n**全局使用**\n\n\n```js\n// 引入所有组件\nimport VElement from '@vikingmute/v-element'\n// 引入样式\nimport '@vikingmute/v-element/dist/style.css'\n\nimport App from './App.vue'\n// 全局使用\ncreateApp(App).use(VElement).mount('#app')\n```\n\n```vue\n<template>\n  <vk-button>我是 VkButton</vk-button>\n</template>\n```\n\n**单个导入**\n\nV Element 提供了基于 ES Module 的开箱即用的 Tree Shaking 功能。\n\n\n```vue\n<template>\n  <Button>我是 VkButton</Button>\n</template>\n<script>\n  import { Button } from ' @vikingmute/v-element'\n  export default {\n    components: { Button },\n  }\n</script>\n```\n\n### 课程亮点\n\n* 亮点1 🔥：“稀有”，目前上市面没有类似的高级课程，由浅入深的高仿 Element-Plus 完成组件库开发的全流程。\n* 亮点2 💧: “专业”，传授大厂前端项目架构设计思想/开发模式/代码规范/流程，不搞小作坊式代码。\n* 亮点3 ⛑️: “全”，精选十几个组件，可以涵盖大部分的主流组件的设计思想以及原理，知识覆盖面全。\n* 亮点4 📚：“新”，使用目前2023年 Vue3 周边最新 ，最全技术：Vue3.2 + Typescript4， Vite，Vitest， Vitepress，Vue-test-utils2，Rollup, Postcss 一网打尽。\n* 亮点5 🎉：“难”，难度逐渐上升，高薪必备敲门砖，包括：Message - Select - Form 这种高难度高复杂组件。\n* 亮点6 🌹：单元测试，被常年忽略但是非常重要的内容，简历加分项，使用最新的 Vitest，Vue-test-utils2 完成单元测试。\n* 亮点7 📚:  文档生成工具，组件库打包和发布以及其他周边流程应有尽有，提供一揽子解决方案。\n* 亮点8 📦: 长期维护以及更新，会根据同学的反馈每年更新几个高频组件。\n\n### rollup使用（打包）：\n```bash\nnpx rollup 要处理的文件 --file （.../）要输出的文件名 --format iife（可选）\n```\n\n### 本地测试组件库\n1. 创建软连接（目的是关联v-element目录下的文件，不需要先发布修改后的组件库，再在本地测试项目中使用）\n```bash\n# 在v-element目录下执行\nnpm link\n```\n\n```bash\n# 在本地测试项目目录下执行\nnpm link v-element\n```\n### 发布组件到npm\n1. 登录npm账号\n```bash\nnpm login\n```\n2. 发布前调整\n在package.json中的script字段中添加发布命令\n```json\n\"scripts\": {\n  \"prepublishOnly\": \"npm run build\"\n}\n```\n其中pre前缀表示在运行npm publish命令前，先执行npm run build命令\n\n3. 发布组件到npm\n在v-element目录下执行以下命令\n```bash\nnpm publish --access public\n```\n\n**在发布组件时，需要先查看账号的2FA是否开启，需要开启后才能上传发布组件**\n","readmeFilename":"README.md"}