如何发布一个npm包?
npm包在现在前端开发中经常使用且便利,而我也是经常使用,而没研究怎么去发布npm。那如何发布npm包呢?
一、在npm的官网上注册一个账号登录,https://www.npmjs.com/
注意此步骤记住登录名和密码,后面会使用到
二、新建一个目录,比如study,进入到这个study目录里,使用 npm login 命令登录,按照提示操作:

注意 password 输入时不显示,继续按正确方式输入就行,不影响
三、进入study目录,执行命令npm init 初始化项目生成package.json文件

注意:package.json 文件的name值唯一,此名字就是将来供下载使用的npm包名
四、在study目录新建index.js文件
module.exports = "hello world";
五、在study目录下发布npm包 :npm publish
此步骤其实发布的就是study目录以及目录下的文件(index.js、package.json)
如果发布成功,请在 https://www.npmjs.com/settings/XXX/packages 下查看
注意:在 npm publish 过程中遇见的问题:
1.邮箱未验证
npm ERR! 403 Forbidden - PUT https://registry.npmjs.org/study123 - you must verify your email before publishing a new package: https://www.npmjs.com/email-edit

处理:将邮箱中的邮箱验证链接处理下就行
2.npm 包名不唯一
npm ERR! you do not have permission to publish 'study'.Are you logged in as the corrent user?
处理:改变 package.json 中的name 值即可
拓展:
1.使用发布的npm包
npm install study123 --save (包名就是package.json文件的name值)
import test from 'study123'
console.log(test) //"hello world"
2.更新一个已经发布的包
npm version patch //修改包的版本
npm publish //重新发布包
3.删除自己发布的npm包
npm unpublish
npm --force unpublish

如何发布一个npm包?的更多相关文章
- 如何发布一个npm包(基于vue)
前言:工作的时候总是使用别人的npm包,然而我有时心底会好奇自己如何发布一个npm包呢,什么时候自己的包能够被很多人喜欢并使用呢...今天我终于迈出了第一步. 前提:会使用 npm,有 vue 基础, ...
- 从0到1发布一个npm包
从0到1发布一个npm包 author: @TiffanysBear 最近在项目业务中有遇到一些问题,一些通用的方法或者封装的模块在PC.WAP甚至是APP中都需要使用,但是对于业务的PC.WAP.A ...
- 发布一个npm包(webpack loader)
发布一个npm包,webpack loader: reverse-color-loader,实现颜色反转. 初始化项目 mkdir reverse-color-loader cd ./reverse- ...
- (转)前端开发-发布一个NPM包之最简单易懂流程
原文地址:https://www.cnblogs.com/sghy/p/6829747.html 1.npm官网创建npm账户 npm网站地址:https://www.npmjs.com/ npm网站 ...
- 如何发布一个 npm 包
一 背景 在工作时,突然接到经理的一个要求,需要将一个react的高阶组件函数封装成一个npm包.之前从没弄过,当场还是有些懵逼的,但是这毕竟是工作,不能推脱.于是开始了学习.汤坑之旅.最终包发布,线 ...
- webpack创建library及从零开始发布一个npm包
最近公司有个需求,我们部门开发一个平台项目之后,其他兄弟部门开发出的插件我们可以拿来直接用,并且不需要我们再进行打包,只是做静态的文件引入,研究一波后发现,webpack创建library可以实现. ...
- 发布一个npm包
前言 我这里是写了一个vue轮播图插件,因此我使用了vue的脚手架工具创建一个项目,当然你也可以选择自己搭建脚手架. 本例中我会使用vue脚手架创建一个项目,并发布到npm上面去. 通过脚手架创建项目 ...
- 如何发布一个包到npm && 如何使用自己发布的npm包 && 如何更新发布到npm的package && 如何更新当前项目的包?
如何发布一个包到npm First 在https://www.npmjs.com注册一个账号. Second 编辑好项目,文件大致如下: 其中,gitignore可以如下: .DS_Store nod ...
- 如何开发一个npm包并发布到npm中央仓库
转自: https://liaolongdong.com/2019/01/24/publish-public-npm.html 如何开发一个npm包并发布到npm中央仓库需求背景:平时在项目工作中可能 ...
随机推荐
- bootstrap基础学习【表单含按钮】(二)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes 当项目依赖其他jar ...
- Docker 安装 Apache
查找Docker Hub上的httpd镜像 apache$ docker search httpd 拉取官方的镜像 docker pull httpd 使用apache镜像 创建目录apache,用于 ...
- Vue代码分割懒加载的实现方法
什么是懒加载 懒加载也叫延迟加载,即在需要的时候进行加载,随用随载. 为什么需要懒加载 在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多 ...
- class.forName 和 classLoader的区别
Java中的Class.forName()和ClassLoader都可以用来对类进行加载.Class.forName()除了将类的.class文件加载到JVM中 还会对类进行解释,执行类中的stati ...
- 分享 Shiro 学习过程中遇到的一些问题
最近在学习 shiro 安全框架后,自己手写了一个小的管理系统 web 项目,并使用 shiro 作为安全管理框架.接下来分享一下在这过程中,遇到的一些问题以及自己的解决思路和方法. 一.Log ou ...
- php分页思路
<?php class page{ public $nowPage=1; public $perPage=10; public $showPage=10; public $totalPage; ...
- ~ android与ios的区别
Oracle与Mysql的区别 项目类别 android ios 应用上 可以使用常用的android模拟器,来模拟各种android设备 只能直接使用iphone或ipad进行测试 开发语言 基于L ...
- Java学习总结一 数据类型
@Java300 学习总结 一.Java 基本数据类型分类如下: 整型变量:byte.short.int.long 浮点型变量:float.double 字符型变量:char 布尔型变量:boolea ...
- 嵌入式linux第一阶段笔记
1.虚拟网络编辑器(vm):三种模式:(VMnet0)桥接模式(vm和windows公用同个网络(同个物理端口)),(VMnet1)仅主机模式,(VMnet8)NAT模式(vm连接一个虚拟的路由(WA ...