记录第一次npm发包!!!

给大家讲讲如何将自己写的组件打包发布到npm

注册一个自己npm账号

登录npm官网注册 地址:npm官网

有账号的直接登录,没有账号就Create Account 跟着步骤一直下一步就好了!!

为什么要发布到npm呢,主要是为了满足公司的场景业务去封装一些经常出现的组件比如表单组件,表格组件,我们在开发的时候直接从项目npm i安装下来就行,不仅能提升代码复用率,还能提升我们开发人员的效率

开始搭建

这里从搭建项目开始,我用的是vite来搭建的vue3项目

npm create vite@latest

跟着官网来好吧-> Vite 官方中文文档

搭建好之后我们在src目录下去创建一个packages文件夹,这个文件夹是用来存放你写的组件的

package目录下需要有一个index文件,这里模拟了一个简单的例子用来导出写好的组件

install方法是内置的,当调用app.use(xxxUI)时,会调用install方法进行全局注册

配置vite.config配置文件

主要是配置一下打包的入口文件

执行打包

dist目录下文件

配置package.json

ruby 复制代码
{
  "name": "c-teamui", // 你的包名,不要和已有的组件库有类似或者重复的名字避免发布失败
  "private": false, // 这里默认为true要设置为false
  "version": "1.0.0", // 管理你的版本号
  "description": "component", // 你的描述
  // main和module都需要配置,用来做兼容环境umd模式,和esm,dist目录打包出来的位置
  "main": "dist/teamui.umd.js",
  "module": "dist/teamui.es.js",
  "types": "dist/index.d.ts",
  "files": [ // 发布包的时候用到的文件目录
    "dist",
    "src"
  ],
  "keywords": [ // 关键词描述
    "vue3",
    "element-plus",
    "component",
    "ui",
    "teamui"
  ],
  "author": "chen",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "你的组件库代码地址"
  },
  "bugs": {
    "url": "你的组件库代码地址"
  },
  "homepage": "你的组件库代码地址",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vue-tsc -b && vite build",
    "preview": "vite preview"
  },
  "dependencies": {
    "c-teamui": "^1.0.0",
    "element-plus": "^2.10.3",
    "vue": ">=3.0.0"
  },
  "devDependencies": {
    "@types/node": "^24.0.10",
    "@vitejs/plugin-vue": "^4.6.2",
    "@vue/tsconfig": "^0.7.0",
    "sass": "^1.89.2",
    "sass-loader": "^16.0.5",
    "typescript": "~5.8.3",
    "vite": "^5.1.4",
    "vite-plugin-dts": "^4.5.4",
    "vue-tsc": "^2.2.10"
  },
  // 这里是你的组件库需要用到的依赖
  "peerDependencies": {
    "element-plus": "^2.10.3",
    "vue": ">=3.0.0"
  }
}

发布npm

  • 要把镜像源改成官网的 npm config set registry registry.npmjs.org/
  • 命令行输入npm login,按照提示给的步骤输入npm的账号密码,然后会发送验证码到你的邮箱输入然后就可以了
  • 最终执行npm publish
  • 完成发布,可以到npm自己个人主页看看
  • 可以到自己项目中执行npm i 包名,然后到main.js中全局注册测试一下没问题啦
相关推荐
达子6661 小时前
第10章_HarmonyOs开发图解 用JS开发UI
vue.js
奶糖 肥晨1 小时前
想return数据 返回的确是函数问题处理
vue.js
无巧不成书02182 小时前
Vue+Vue-CLI全平台零基础搭建教程
前端·javascript·vue.js·vue·前端开发·vue-cli·前端环境搭建
张人玉3 小时前
基于 Vue 3 + ECharts + Express + SQLite 的可视化大屏与业务管理系统——YOLOv8 高精度车辆行人检测与计数系统
数据库·vue.js·yolo·sqlite·echarts·express
腻害兔12 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
sugar__salt18 小时前
Vue3 表单双向绑定与响应式核心 API 技术详解
前端·javascript·vue.js
郝亚军19 小时前
使用Vue 3和Nginx打包和部署Vue.js项目的一般步骤
前端·vue.js·nginx
阿懂在掘金21 小时前
企业级命令式弹窗方案:三行代码适配已有 Dialog
前端·vue.js·前端框架
YWL21 小时前
OpenLayers + Vue 2 使用指南(01)
前端·javascript·vue.js
达子6661 天前
第8章_HarmonyOs开发图解 剪贴板
vue.js