如何上传npm包

如何上传自己的npm包

一、创建自己的npm账号

[npm官网]: “https://www.npmjs.com/

二、创建npm包目录

mkdir npm-me // 在终端输入以下命令,npm-me为包的目录,可以自己任意取名
cd npm-me // 进入包目录

三、 编写模块

在npm-me目录下创建 ifYes.js文件

//ifYes.js
exports.ifYes = function() {
    return "If you're late, your wages will be docked"
}

四、 初始化包描述文件

npm init //初始化会生成package.json文件

初始化的过程会出现一系列的问题,根据我们自己的情况去选择就可以,如果没有其他要求,回车就可哟

五、注册包仓库账号

npm adduser

当你没有创建npm账户或者输入错误的账户和密码,都会出现下面的error

这是处理正确的结果(确认的时候需要接收验证码:例30466554)

六、上传包

npm publish 包文件夹名字 //上传npm命令格式

1.为了不出现npm命名冲突,第一个方法是在npm官网查一下,如果重复就需要重新修改一下(现在我的npm包就冲突了)

2.当你上传npm包的时候可能才会发现npm命名冲突

npm publish . //上传npm包

修改后上传

//package.json
{
  "name": "alan-npm-me",
  "version": "1.0.0",
  "description": "If you're late, your wages will be docked",
  "main": "ifYes.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "ifYes"
  ],
  "author": "alan_mf",
  "license": "ISC"
}

上传成功啦啦啦

npm账户上可以看到我们上传的包

七、 更新npm包

npm包修改后,手动把package.json里的version版本号修改了,或者使用以下命令自动更新版本号,再执行npm publish . 命令就可以了。

  • 升级补丁版本号(修改bug):npm version patch
  • 升级小版本号(新增功能):npm version minor
  • 升级大版本号(较大改版):npm version major
npm version patch //补丁
npm publish . //更新npm包

更新成功版本1.0.1

八、 对上传的npm进行测试

mkdir npm-me-test //新建目录
cd  npm-me-test //进入目录

下载我们上传的npm包

npm init -y //初始化生成package.json文件
npm install alan-npm-me -D

创建test.js文件并编写代码

//test.js
const demo = require('alan-npm-me');
const res = demo.ifYes();
console.log(res);

目前我们所开发的都是共享的npm包,具有一定的安全性风险,如果用于企业,就会具有一定的风险。企业的限制在于,一方面需要享受模块开发带来的低耦合和项目组织上的好处,另一方面却要考虑到模块保密性的问题。所以,通过NPM共享和发布存在潜在的风险。

为了同时能够享受到NPM上众多的包,同时对自己的包进行保密和限制,现有的解决方案就是企业搭建自己的NPM仓库。局域NPM仓库的搭建方法与搭建镜像站的方式几乎一样,与镜像仓库不同的地方在于,企业局域NPM可以选择不同步官方源仓库中的包,即企业可混合使用官方仓库和局域仓库。

对于企业内部而言,私有的可重用模块可以打包到局域NPM仓库中,这样可以保持更新的中心化,不至于让各个小项目各自维护相同功能的模块,杜绝通过复制粘贴实现代码共享的行为。

链接:

[npm官网]: “https://www.npmjs.com/

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022-2023 alan_mf
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信