1、发布npm

1、先使用npm i,创建一个项目hahaya,

  1. {
  2. "name": "hahaya",
  3. "version": "1.0.1",
  4. "description": "",
  5. "main": "index.js",
  6. "bin": {
  7. "hahaya": "bin/index.js"
  8. },
  9. "scripts": {
  10. "test": "echo \"Error: no test specified\" && exit 1"
  11. },
  12. "author": "",
  13. "license": "ISC"
  14. }

2、创建bin文件

  1. #!/usr/bin/env node !!
  2. console.log('t2est11')

3、发布npm

先npm login 输入用户、密码和邮箱
然后npm publish。

2、使用npm

1、新建项目test

  1. {
  2. "name": "test",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "index.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1"
  8. },
  9. "author": "",
  10. "license": "ISC"
  11. }

2、使用hahaya这个npm

方法一: npm i hahaya -g
image.png
删除全局安装包:npm remove -g hahaya
方法二:使用npm link
回到hahaya项目,执行npm link,本地建立一个软链接。
image.png
来到test项目,就可以执行hahaya命令
image.png
这样hahaya项目改动,test命令执行hahaya也会改动。

2、本地使用别的本地npm包

1、新建项目hahaya1

  1. {
  2. "name": "hahaya1",
  3. "version": "1.0.0",
  4. "description": "",
  5. "main": "lib/index.js",
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1"
  8. },
  9. "author": "",
  10. "license": "ISC"
  11. }

2、新建lib下的index.js

  1. #!/usr/bin/env node
  2. module.exports = {
  3. sum(a, b) {
  4. return a + b
  5. }
  6. }

3、使用npm link
image.png

2、回到hahaya项目

1、执行npm link hahaya1

image.png

2、引用hahaya1

  1. #!/usr/bin/env node
  2. const { sum } = require('hahaya1')
  3. console.log('sum', sum(2, 3))
  4. console.log('t2eswwt11')

3、执行hahaya
image.png
此时hahaya1改动,执行hahaya也会变动