npm知识点

目录

一、什么是npm

二、npm指令

1、安装所有软件包

2、安装单个软件包

3、安装软件包的方式

(1)安装并添加条目到 package.json 文件的 dependencies

(2)安装并添加条目到 package.json 文件的 devDependencies

-D和-S的区别:-D安装到开发的库,-S安装到生产环境的库

(3)全局安装

4、更新软件包

(1)更新全部

(2)更新单个

5、卸载软件包

(1)卸载根文件夹node_modules的软件包

(2)卸载指定软件包,并从package.json中移出

(3)卸载全局软件包

6、安装指定版本软件包

7、查看某软件包安装过的所有版本

8、查看当前安装的所有npm软件包

9、查看某软件包在npm上的最新版本

三、软件包的版本

包版本的有关符号

四、使用软件包

五、package.json

六、package-lock.json


一、什么是npm

Node.js标准的软件包管理器。

起初是作为下载和管理Node.js包依赖的方式,但其现在也已成为前端JavaScript中使用的工具。NPM是随同Node.js一起安装的包管理工具,能解决Node.js代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

由于新版的Node.js已经集成了NPM,所以要想使用NPM就得安装Node.js。

二、npm指令

1、安装所有软件包

npm install

在 node_modules 文件夹(如果尚不存在则会创建)中安装项目所需的所有东西

2、安装单个软件包

npm install <package-name>

3、安装软件包的方式

(1)安装并添加条目到 package.json 文件的 dependencies

npm install <package-name>  --save

npm install <package-name>  -S

(2)安装并添加条目到 package.json 文件的 devDependencies

npm install <package-name>  --save--dev

npm install <package-name>  -D

-D和-S的区别:-D安装到开发的库,-S安装到生产环境的库

(3)全局安装

可以在系统上的任何位置运行此命令,因为当前所在的文件夹无关紧要

npm install <package-name>  --global

npm install <package-name>  -g

4、更新软件包

(1)更新全部

npm update

(2)更新单个

npm update <package-name>

5、卸载软件包

(1)卸载根文件夹node_modules的软件包

npm uninstall <package-name>

(2)卸载指定软件包,并从package.json中移出

npm uninstall -S <package-name>
npm uninstall --save <package-name>


npm uninstall -D <package-name>
npm uninstall --save-dev <package-name>

(3)卸载全局软件包

npm uninstall -g <package-name>

npm uninstall --global <package-name>

6、安装指定版本软件包

npm install <package>@<version>

全局安装:

npm install -g webpack@4.16.4

7、查看某软件包安装过的所有版本

npm view <package> versions

8、查看当前安装的所有npm软件包

npm list

查看全局:

npm list -g

9、查看某软件包在npm上的最新版本

npm view [package_name] version

三、软件包的版本

使用语义版本控制作为版本编号。

语义版本控制的概念很简单:所有的版本都有 3 个数字:x.y.z

  • 第一个数字是主版本。
  • 第二个数字是次版本。
  • 第三个数字是补丁版本。

当发布新的版本时,不仅仅是随心所欲地增加数字,还要遵循以下规则:

  • 当进行不兼容的 API 更改时,则升级主版本。
  • 当以向后兼容的方式添加功能时,则升级次版本。
  • 当进行向后兼容的缺陷修复时,则升级补丁版本。

包版本的有关符号:

  • 无符号: 仅接受指定的特定版本(例如 1.2.1)。
  • latest: 使用可用的最新版本。
  • ^: 如果写入的是 ^0.13.0,则当运行 npm update 时,会更新到补丁版本和次版本:即 0.13.1、0.14.0、依此类推。
  • ~: 如果写入的是 〜0.13.0,则当运行 npm update 时,会更新到补丁版本:即 0.13.1 可以,但 0.14.0 不可以。
  • >: 接受高于指定版本的任何版本。
  • >=: 接受等于或高于指定版本的任何版本。
  • <=: 接受等于或低于指定版本的任何版本。
  • <: 接受低于指定版本的任何版本。
  • =: 接受确切的版本。
  • -: 接受一定范围的版本。例如:2.1.0 - 2.6.2。
  • ||: 组合集合。例如 < 2.1 || > 2.6
     

四、使用软件包

1、安装软件包

2、使用 require 将其导入到程序,例如:const _ = require('lodash')

五、package.json

package.json 文件是项目的清单。 它可以做很多完全互不相关的事情。 例如,它是用于工具的配置中心。 它也是 npm 和 yarn 存储所有已安装软件包的名称和版本的地方。

这里有很多东西:

  • name 设置了应用程序/软件包的名称。
  • author 列出软件包的作者名称。
  • contributors 列出项目贡献者的数组
  • bugs  链接到软件包的问题跟踪器,最常用的是 GitHub 的 issues 页面
  • homepage 设置软件包的主页
  • version 表明了当前的版本。
  • license 软件包的许可证
  • keywords 此属性包含与软件包功能相关的关键字数组。
  • repository 程序包仓库所在的位置。
  • description 是应用程序/软件包的简短描述。
  • main 设置了应用程序的入口点。
  • private 如果设置为 true,则可以防止应用程序/软件包被意外地发布到 npm。
  • scripts 定义了一组可以运行的 node 脚本。
  • dependencies 设置了作为依赖安装的 npm 软件包的列表。
  • devDependencies 设置了作为开发依赖安装的 npm 软件包的列表。
  • engines 设置了此软件包/应用程序在哪个版本的 Node.js 上运行。
  • browserslist 用于告知要支持哪些浏览器(及其版本)。

以上所有的这些属性都可被 npm 或其他工具使用。

package.json 文件还可以承载命令特有的配置,例如 Babel、ESLint 等。每个都有特有的属性,例如 eslintConfigbabel 等。 它们是命令特有的,可以在相应的命令/项目文档中找到如何使用它们。

六、package-lock.json

原始的项目和新初始化的项目实际上是不同的。 即使补丁版本或次版本不应该引入重大的更改,但还是可能引入缺陷。

package-lock.json 会固化当前安装的每个软件包的版本,当运行 npm install时,npm 会使用这些确切的版本。

package-lock.json 文件需要被提交到 Git 仓库,以便被其他人获取(如果项目是公开的或有合作者,或者将 Git 作为部署源)。

当运行 npm update 时,package-lock.json 文件中的依赖的版本会被更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值