当前位置: 首页 > wzjs >正文

成武网站建设王烨老师

成武网站建设,王烨老师,白云做网站公司,网站维护需要会什么文章目录前言第一步,通过vue-cli搭建vue3框架第二步,构建一个入口,将所有的组件统一管理第三步 修改package.json ,对组件进行单独打包第四步输入命令行开始打包第五步,修改package.json文件,为npm 发布做准…

文章目录

    • 前言
    • 第一步,通过vue-cli搭建vue3框架
    • 第二步,构建一个入口,将所有的组件统一管理
    • 第三步 修改package.json ,对组件进行单独打包
    • 第四步输入命令行开始打包
    • 第五步,修改package.json文件,为npm 发布做准备
    • 第六步修改README.md
    • 第七步 npm登录后,直接发布

前言

为了我自己的组件库,我从去年下半年开始,到现在一直在运用vue3框架,写各种前端web常用的组件,从Button开始到Select,将来还会继续完善。

第一步,通过vue-cli搭建vue3框架

当然你用vite也可以,但后面将组建库打包到npm的方式,可能略有不同。

这篇文章介绍了如何快速搭建vue3项目 https://dengxi.blog.csdn.net/article/details/124837593

第二步,构建一个入口,将所有的组件统一管理

// src/components/dxui/index.ts
import Button from '../button/Button.vue'
import Card from '../card/Card.vue'
import BreadCrumb from '../breadCrumb/Breadcrumb.vue'
import CardGroup from '../cardGroup/CardGroup.vue'
import Checkbox from '../checkbox/Checkbox.vue'
import CheckboxGroup from '../checkboxGroup/CheckboxGroup.vue'
import Dialog from '../dialog/Dialog.vue'
import Slider from '../slider/Slider.vue'
import Switch from '../switch/Switch.vue'
import Tag from '../tag/Tag.vue'
import Tooltip from '../tooltip/Tooltip.vue'
import AnimationIcon from '../animationIcon/AnimationIcon.vue'// 分别导出,让别人可以按需引入
export {Button,Card,CardGroup,BreadCrumb,Checkbox,CheckboxGroup,Dialog,Slider,Switch,Tag,Tooltip,AnimationIcon
}const component = [Button,Card,CardGroup,BreadCrumb,Checkbox,CheckboxGroup,Dialog,Slider,Switch,Tag,Tooltip,AnimationIcon
]const Dxui = {install(App: any) {component.forEach((item: any) => {App.component(item.name, Button)})}
}export default Dxui

第三步 修改package.json ,对组件进行单独打包

// package.json
{"name": "dxui","version": "0.1.0","private": true,"scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build","lint": "vue-cli-service lint","build-dxui": "vue-cli-service build --target lib ./src/components/dxui/index.ts --name dxui --dest dxui"},"dependencies": {"@codemirror/lang-html": "^6.1.3","@codemirror/lang-javascript": "^6.1.1","@codemirror/theme-one-dark": "^6.1.0","core-js": "^3.6.5","lottie-web": "^5.9.6","vue": "^3.0.0","vue-class-component": "^8.0.0-0","vue-codemirror": "^6.1.1","vue-router": "^4.0.0-0","vuex": "^4.0.0-0"},"devDependencies": {"@typescript-eslint/eslint-plugin": "^4.18.0","@typescript-eslint/parser": "^4.18.0","@vue/cli-plugin-babel": "~4.5.11","@vue/cli-plugin-eslint": "~4.5.11","@vue/cli-plugin-router": "~4.5.11","@vue/cli-plugin-typescript": "~4.5.11","@vue/cli-plugin-vuex": "~4.5.11","@vue/cli-service": "~4.5.11","@vue/compiler-sfc": "^3.0.0","@vue/eslint-config-standard": "^5.1.2","@vue/eslint-config-typescript": "^7.0.0","eslint": "^6.7.2","eslint-plugin-import": "^2.20.2","eslint-plugin-node": "^11.1.0","eslint-plugin-promise": "^4.2.1","eslint-plugin-standard": "^4.0.0","eslint-plugin-vue": "^7.0.0","sass": "^1.26.5","sass-loader": "^8.0.2","typescript": "~4.1.5","vue3-dxui": "^1.0.1"},"eslintConfig": {"root": true,"env": {"node": true},"extends": ["plugin:vue/vue3-essential","@vue/standard","@vue/typescript/recommended"],"parserOptions": {"ecmaVersion": 2020},"rules": {"space-before-function-paren": [0,"always"],"@typescript-eslint/explicit-module-boundary-types": "off","no-unused-expressions": "off","@typescript-eslint/no-this-alias": "off","@typescript-eslint/no-inferrable-types": "off"}},"browserslist": ["> 1%","last 2 versions","not dead"]
}

新增了一条命令行

"build-dxui": "vue-cli-service build --target lib ./src/components/dxui/index.ts --name dxui --dest dxui"

打包命令解释:

–target lib 关键字 指定打包的目录 也就是 src/components/dxui/index.ts 作为打包的入口

–name 打包后的文件名字 dxui

–dest 打包后的文件夹的名称 dxui

第四步输入命令行开始打包

npm run build-dxui

在这里插入图片描述

第五步,修改package.json文件,为npm 发布做准备

//dxui/package.json
{"name": "vue3-dxui","version": "1.0.9","files": ["dxui"],"main": "./dxui/dxui.common.js","browser": "./dxui/dxui.umd.js","types": "./dxui/components/dxui/index.d.ts","scripts": {"serve": "vue-cli-service serve","build": "vue-cli-service build","lint": "vue-cli-service lint","build-dxui": "vue-cli-service build --target lib ./src/components/dxui/index.ts --name dxui --dest dxui"},"dependencies": {"@codemirror/lang-html": "^6.1.3","@codemirror/lang-javascript": "^6.1.1","@codemirror/theme-one-dark": "^6.1.0","core-js": "^3.6.5","lottie-web": "^5.9.6","vue": "^3.0.0","vue-class-component": "^8.0.0-0","vue-codemirror": "^6.1.1","vue-router": "^4.0.0-0","vuex": "^4.0.0-0"},"devDependencies": {"@typescript-eslint/eslint-plugin": "^4.18.0","@typescript-eslint/parser": "^4.18.0","@vue/cli-plugin-babel": "~4.5.11","@vue/cli-plugin-eslint": "~4.5.11","@vue/cli-plugin-router": "~4.5.11","@vue/cli-plugin-typescript": "~4.5.11","@vue/cli-plugin-vuex": "~4.5.11","@vue/cli-service": "~4.5.11","@vue/compiler-sfc": "^3.0.0","@vue/eslint-config-standard": "^5.1.2","@vue/eslint-config-typescript": "^7.0.0","eslint": "^6.7.2","eslint-plugin-import": "^2.20.2","eslint-plugin-node": "^11.1.0","eslint-plugin-promise": "^4.2.1","eslint-plugin-standard": "^4.0.0","eslint-plugin-vue": "^7.0.0","sass": "^1.26.5","sass-loader": "^8.0.2","typescript": "~4.1.5","vue3-dxui": "^1.0.9"},"eslintConfig": {"root": true,"env": {"node": true},"extends": ["plugin:vue/vue3-essential","@vue/standard","@vue/typescript/recommended"],"parserOptions": {"ecmaVersion": 2020},"rules": {"space-before-function-paren": [0,"always"],"@typescript-eslint/explicit-module-boundary-types": "off","no-unused-expressions": "off","@typescript-eslint/no-this-alias": "off","@typescript-eslint/no-inferrable-types": "off"}},"browserslist": ["> 1%","last 2 versions","not dead"]
}

name 包名称,包名称得独一无二
verison 版本号,新的版本号得大于之前的版本号1.0.9
files 你真正想要上传供大家使用的文件,我直接将打包好的上传就好 dxui
main 别人下载时,引用后的主文件,这里是打包好的 ./dxui/dxui.common.js
browser 供html使用的文件 ./dxui/dxui.umd.js
types,用来提供类型声明的,因为类型声明没写好,现在暂不可用
删掉了 private,否则无法上传到npm,

第六步修改README.md

这个markdown文件介绍了组件如何使用,和相关其它内容。

在这里插入图片描述

第七步 npm登录后,直接发布

npm login
// 当然要输入账号密码,甚至验证码之类的才能登录成功,这些内容就不展示了
npm publish

在这里插入图片描述
上图表示一个公开的包已经成功发布了
npm地址 https://www.npmjs.com/package/vue3-dxui

感兴趣的同学可以按照上述流程自己试试,或者将包拉下来,试试组件好不好用,如果有组件有bug,可以在npm地址或者本篇博客下留言,我会回复或者修复。


文章转载自:

http://SD83Ue67.xjmpg.cn
http://8eSil9bP.xjmpg.cn
http://Q2Q2wDlI.xjmpg.cn
http://wfIxVOuS.xjmpg.cn
http://nOLzVBC4.xjmpg.cn
http://HQUiUSBB.xjmpg.cn
http://ZvfG7ZTu.xjmpg.cn
http://yw2TgVxU.xjmpg.cn
http://kP2Uxxhr.xjmpg.cn
http://u5PAtPsD.xjmpg.cn
http://Hllfi2gA.xjmpg.cn
http://39nztGiV.xjmpg.cn
http://jl9wOuH1.xjmpg.cn
http://Nf3sSJuA.xjmpg.cn
http://KVXpsJJI.xjmpg.cn
http://CGZY0RtZ.xjmpg.cn
http://HOYgYHhE.xjmpg.cn
http://wLqZerp3.xjmpg.cn
http://a5XHk6Y5.xjmpg.cn
http://VoMlr5Ba.xjmpg.cn
http://ZWGx1ge0.xjmpg.cn
http://QMYv9uwe.xjmpg.cn
http://p2qEG2uy.xjmpg.cn
http://CeJGY2Lo.xjmpg.cn
http://JEdv3YTY.xjmpg.cn
http://LjCixgWw.xjmpg.cn
http://i7wBY9Eo.xjmpg.cn
http://N2sYWPCn.xjmpg.cn
http://t0FADWnM.xjmpg.cn
http://UsQGHbYS.xjmpg.cn
http://www.dtcms.com/wzjs/708091.html

相关文章:

  • 广东手机网站建设报价表iis能搭WordPress
  • 专业做网站套餐网站建设设计外包公司
  • 电话卡代理平台营销网站的专业性诊断评价和优化
  • 智能网站开发工具西地那非是什么药
  • 网站怎样做的有吸引力建网站的软件
  • 网站建设初学者必学辽宁省住建厅建设网站
  • 珠海仿站定制模板建站用哪个平台做网站好
  • 百度站长验证网站失败注册安全工程师建设工程网站
  • 论述网站建设及运营流程重庆企业网站制作
  • 公司企业网站建设网络销售推广平台
  • 苏州网站建设渠道南县网站建设推荐
  • 国土资源局加强网站建设上海市企业服务云官网
  • 建设网站需要什么人员全国工程招标信息网
  • 成都网站建设单位文字图片在线制作生成
  • 庆阳北京网站建设基于php网站开发的参考文献
  • 无锡集团网站建设公司icp备案查询工信部
  • 龙岗网站建设找深一wordpress 文章分栏
  • 有哪些可以免费推广的网站专业网站定制 北京
  • 网站模板上传教程视频教程wordpress下载站模板
  • 忘了网站链接怎么做注册app
  • 毕业设计做网站还是系统重庆最新新闻发布会
  • 网站里可以添加视频做背景吗烟台网站制作企业
  • 热门wordpress主题谷歌seo技巧
  • 网站开发进入腾信职位如何发布一个自己的网站
  • 模板网站 建设 方法电商网站建设效果
  • 富阳公司做网站wordpress支持pdf
  • 网站建设渠道代理任务书山东农业工程学院教务网络管理系统
  • 网站如何做mipwin10系统之家官网
  • 杭州网站建设方案服务公司阳泉住房和城乡建设厅网站
  • 做网站属于什么职位如何利用站群做网站