如何写自己的Npm包?怎么玩转Npm

1,765 阅读4分钟

==传自己的包之前先把命令都弄清楚吧==

npm命令大全简写描述
npm init --yesnpm init -y初始化包,生成package文件
npm install 包名npm i 包名下载包到node_module目录(默认下载最新版本)
npm install 包名 -gnpm i 包名 -g安装全局包
npm install 包名@版本号npm i 包名@版本号下载指定版本的包到node_module目录
npm uninstall 包名删除本地包
npm uninstall 包名 -g删除全局包
npm install 包名 --save-devnpm i 包名 --save-d安装开发依赖包(默认安装都是生产依赖)
npm config set registry registry.npm.taobao.org/切换镜像源
npm config list查询镜像源
npm -v查看npm版本
where node查看node安装目录
where node查看npm安装目录
npm root -g查看npm区全局包安装目录
npm list -g --deptch查看电脑装了哪些全局包
npm install npm -g更新你电脑的npm版本
npm i --legacy-peer-deps处理npm install 因版本问题导致的报错

1. npm使用流程

    初始化、安装、导入使用
  • 1.初始化:在当前nodejs项目中执行终端命名: npm init -y
-   作用:生成一个`pachage.json`文件,帮你记录当前项目安装了
    哪些第三方模块及对应的版本号
  • 2.安装:在当前nodejs项目中执行终端命名: npm install 模块名

    • 安装之后,你的项目目录会新增两个文件node_modulespackage-lock.json

      • node_modules:npm会自动将所有的第三方模块放入这个文件夹中。类似于前端的lib文件夹
      • package-lock.json:npm会自动记录第三方模块的下载地址,下一次安装或更新的时候直接从这个地址下载,速度更快(只是影响以后更新速度,不影响开发)
      • package.json:帮你记录当前项目安装了哪些第三方模块及对应的版本号
  • 3.注意点:

    • (1)使用npm文件夹路径不能有中文

    • (2) 如果网速很慢导致无法安装第三方模块,建议 更改npm镜像源为淘宝服务器

      • npm config set registry https://registry.npm.taobao.org/
      • 查看当前npm得镜像源:npm config list

1.2.1- npm init -y原理

  • 1.作用: 快速初始化包,创建package.json文件

  • 2.package.json文件 : 项目中用到了哪些依赖包,以及包名、版本号

    • 只要你下载了包,这个文件就会记录你下载哪些包,和下载的版本

1.2.2-npm i 包名 原理

  • 1.访问npm服务器
  • 2.从npm服务器搜索包
  • 3.搜索到之后,找包的仓库地址
  • 4.下载包到你目录的node_module文件
  • 5.会把包地址放入package.lock.json文件,用于更新提高速度

1.3-全局包与本地包

  • 1.本地包: npm i 包名

    • 在哪里执行命令,就在哪个文件夹安装
    • 只对这个文件夹生效
  • 2.全局包: npm i 包名 -g

    • 无论在哪里执行命令,都会装到你的C盘根目录

    • 对整个操作系统生效,任何时候都能使用

      • 例如: npm i nodemon -g
  • 3.小经验

    • 本地包一般是用于做项目开发的,主要是导入写代码的

    • 全局包一般是工具类(像vscode插件一样),主要是为你开发提供工具遍历的

      • nodejs里面的nodemon
      • vue里面的vue/cli

2 !!! npm发布自己的包完整流程

    准备工作

    1.为什么要在npm发布自己的写的第三方包

    优秀的代码应该分享给更多的人,让别人知道你的优秀

    提升职场竞争力,别人没做的事情,你做了

    提升自己的内力,发布包的时候你会更多的考虑到代码的复用。对自己的技术提升非常的有帮助。

    2.优秀的代码是如何诞生的?

    你的同事写的

    你的同行写的

    你写的

    如果个个都想白嫖,个个都想CV。 那谁来做那个被CV的人呢?

    2.npm上的包是全球用户都能下载的,所以我们自己的包一定不能跟别人包重名。

    npm view 包名 : 检查npm服务器有没有这个包,如果有你的包名就不能叫这个
1.初始化npm : npm init -y

Snipaste_2022-05-22_22-58-05.png

2. 新建一个index.js,封装你的代码
  • 写完最好自己测试一下,别把崩溃的代码发布到npm,这样就闹眼子了

1653157881165.png

3.连接npm: npm adduser

这个命令会让你输入四个东西(只有第一次上传包才需要,以后更新的话就不需要了)

  • 用户名
  • 密码
  • 邮箱(是你在npmjs官网上注册时使用的信息)
  • 校验密码。它会向你的邮箱发邮件

Snipaste_2022-05-22_23-04-09.png 发布包的话,是直接把你的包上传到npm网站服务器。因此需要把你的镜像源切回到npm镜像源

npm config set registry registry.npmjs.org

这个命令可以检查你是否连接npm成功: npm who am i

4.上传包到你的npm服务器: npm publish

5.发布新版本

6.删除你的包: npm unpublish --force

  • 如果没啥用了,就删除。没必要浪费公共资源

ok了,兄弟们快去写自己的包吧