自定义npm包并发布(全局包)

1. 在【36】目录中,创建一个包文件夹 npm_global_ceshi
36
----node_modules
--------npm_global_ceshi

2. 在包文件夹 npm_global_ceshi 的根目录下,初始化一个package.json文件(npm init -y)
36
----node_modules
--------npm_global_ceshi
------------package.json

// 根据包信息配置package.json文件
{
“name”: “npm_global_ceshi”,
“version”: “1.0.0”,
“description”: “npm global ceshi”,
“main”: “index.js”,
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”
},
“keywords”: [“npm”,“global”],
“author”: “”,
“license”: “ISC”
}

3. 在包文件夹 npm_global_ceshi 的根目录下,新增入口文件index.js,用来编写业务逻辑代码
36
----node_modules
--------npm_global_ceshi
------------package.json
------------index.js

// index.js
console.log(‘自定义指令被执行了’)

4. 给package.json添加bin属性,告诉系统,该全局包的全局指令是ngc,以及执行该全局指令时需要执行哪一个JS文件(此处是index.js)
// package.json文件
{
“name”: “npm_global_ceshi”,
“version”: “1.0.0”,
“description”: “npm global ceshi”,
“main”: “index.js”,
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”
},
“bin”: {
“ngc”: “index.js”
},
“keywords”: [“npm”, “global”],
“author”: “”,
“license”: “ISC”
}

5. 在桌面打开cmd命令窗口,执行全局指令 ngc
// ‘ngc’ 不是内部或外部命令,也不是可运行的程序

6. 在npm_global_ceshi所在的目录,打开cmd命令窗口,执行 npm link, 将自定义全局包放到全局包安装的位置,方便我们调试

7. 找到全局包安装的位置:在桌面打开cmd命令窗口,执行命令 npm config list,其中 prefix 指向的地址就是全局包安装的位置

8. 进入全局包的安装路径:C:\Users…\npm -> node_modules -> 发现多了npm_global_ceshi文件夹,说明 npm link,成功将自定义全局包放到了全局包安装的位置

9. 在桌面打开cmd命令窗口,执行全局指令 ngc
// 无效字符
而不再是 // ‘ngc’ 不是内部或外部命令,也不是可运行的程序
说明自定义全局包生效了,但是系统不知道应该在什么环境中执行ngc指令指向的index.js文件

10. 在全局指令ngc指向的index.js文件中,添加 #! /usr/bin/env node 代码,告诉系统,在环境变量中,查找node环境,在node环境中执行当前js文件
//index.js
#! /usr/bin/env node
console.log(‘自定义指令被执行了’)

11. 在npm_global_ceshi所在的目录,打开cmd命令窗口,再次执行 npm link, 将自定义全局包放到全局包安装的位置

12. 在桌面打开cmd命令窗口,执行全局指令 ngc
// 自定义指令被执行了
此时,说明自定义全局包可以正常使用了

13. 在【npm_global_ceshi】目录下,打开cmd命令窗口,执行命令 nrm ls,确保当前使用的包管理工具为npm(默认已安装nrm)

  • npm -------- https://registry.npmjs.org/
    yarn ------- https://registry.yarnpkg.com/
    cnpm ------- http://r.cnpmjs.org/
    taobao ----- https://registry.npm.taobao.org/
    nj --------- https://registry.nodejitsu.com/
    npmMirror – https://skimdb.npmjs.com/registry/
    edunpm ----- http://registry.enpmjs.org/

14. 在npm官网上注册一个账号(若已有账号,请忽略此步骤)

15. 发布
15.1 执行命令 npm addUser
输入用户名:
输入密码:
输入邮箱:
成功登录自己的npm账号
Logged in as hjj_upward on https://registry.npmjs.org/.

15.2 执行命令 npm publish,将自定义本地包发布到npm官网的远程服务器上
出现 + npm_global_ceshi@1.0.0
说明发布成功

15.3 来到npm官网 https://www.npmjs.com/,输入包名 npm_global_ceshi,可以看到发布结果

16. 使用发布的包
16.1 在全局包的安装目录中,将npm link拷贝进去的包npm_global_ceshi删除

16.2 在桌面打开cmd命令窗口,执行全局安装命令 npm i npm_global_ceshi -g

16.3 安装成功之后,在桌面打开cmd命令窗口,执行ngc命令
// 自定义指令被执行了
说明安装成功了

16.4 执行命令 npm uninstall npm_global_ceshi -g,可以卸载全局包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值