什么是 npm?
npm 是 javascript 著名的包管理工具,是前端模块化下的一个标志性产物,简单地地说,就是通过 npm 下载模块,复用已有的代码,提高工作效率;和移动端开发中,iOS 使用的 Cocoapods,Android 使用的 maven 有异曲同工之妙。
如何发布一个自己的 npm 包
1、创建一个 npm 的账号
发布包之前你必须要注册一个 npmjs 的账号。
2、初始化一个简单的项目发布
- 本地创建一个文件夹:例如:alvinwp
- 执行命令进入目录: $ cd alvinwp;或通过 vscode 等 IDE 打开该项目
- 执行 npm init 初始化项目。默认一路回车就行
- 在 alvinwp 文件夹中创建一个文件名为 index.js 的文件,简单的写了一下内容。
或者直接将 js、css 等资源文件放在项目中。!function(){ console.log(`alvinwp 引入的包入口`) }()
package.json
文件的部分字段说明:默认字段简介: name:发布的包名,默认是上级文件夹名。不得与现在 npm 中的包名重复。包名不能有大写字母/空格/下滑线! version:你这个包的版本,默认是 1.0.0。对于 npm 包的版本号有着一系列的规则,模块的版本号采用 X.Y.Z 的格式,具体体现为: 1、修复 bug,小改动,增加z。 2、增加新特性,可向后兼容,增加 y 3、有很大的改动,无法向下兼容,增加 x description:项目简介 mian:入口文件,默认是 index.js,可以修改成自己的文件 scripts:包含各种脚本执行命令 test:测试命令。 author:写自己的账号名 license:这个直接回车,开源文件协议吧,也可以是 MIT,看需要吧。
注意:author 必须和步骤一中创建的 npmjs 账号名相同;每次 publish 前要保证 version 有变化,不然会报错。
3、如果本机第一次发布包(非第一次可忽略)
在终端输入 npm adduser,提示输入账号,密码和邮箱,然后将提示创建成功,具体如下图。
【注意】npm adduser 成功的时候默认你已经登陆了,所以可跳过第四步。
最后一行显示登录信息,as 后面是用户名。on 后是源地址,如果不是 https://registry.npmjs.org/,比如是淘宝源,请切换。可以参考:[https://segmentfault.com/a/1190000004444283](https://segmentfault.com/a/1190000004444283)
4、非第一次发布包
在终端输入 npm login,然后输入你创建的账号和密码,和邮箱,登陆,结果同步骤三。
5、npm publish 发包
成功发布:
PS D:\IISsites\alvinwp> npm publish
+ alvinwp@1.0.1
注意:如果项目里有部分私密的代码不想发布到 npm 上,可以将它写入 .gitignore 或.npmignore 中,上传就会被忽略了。
6、查询发布的包
到 npm 官网全局搜索即可
7、安装使用方式
和其他包使用方式一致,具体使用可以看源码介绍或者 README.md。
8、如何撤销发布的包
终端执行 npm unpublish
例如:
1、npm unpublish alvinwp@1.0.0 删除某个版本
2、npm unpublish alvinwp –force 删除整个 npm 市场的包
不过撤包推荐用法:
npm unpublish 的推荐替代命令:npm deprecate <pkg>[@<version>] <message>
使用这个命令,并不会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告
例如:npm deprecate alvinwp ‘这个包我已经不再维护了哟~’
注意:如果报权限方面的错,加上 –force
- 本文作者: Alvin
- 本文链接: https://alvinyw.github.io/2020/01/4/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!