npm的介绍

2023-11-30 22:19:57 浏览数 (1)

npm

  • node package manage(node包管理器)
  • 通过npm命令安装jQuery包(npm install --save jquery),在安装时加上--save会主动生成说明书文件信息(将安装文件的信息添加到package.json里面)

npm网站

npmjs.com 网站 是用来搜索npm包的

npm命令行工具

npm是一个命令行工具,只要安装了node就已经安装了npm。

npm也有版本概念,可以通过npm --version来查看npm的版本

升级npm(自己升级自己):

代码语言:javascript复制
npm install --global npm

常用命令

  • npm init(生成package.json说明书文件)
    • npm init -y(可以跳过向导,快速生成)
  • npm install
    • 一次性把dependencies选项中的依赖项全部安装
    • 简写(npm i)
  • npm install 包名
    • 只下载
    • 简写(npm i 包名)
  • npm install --save 包名
    • 下载并且保存依赖项(package.json文件中的dependencies选项)
    • 简写(npm i 包名)
  • npm uninstall 包名
    • 只删除,如果有依赖项会依然保存
    • 简写(npm un 包名)
  • npm uninstall --save 包名
    • 删除的同时也会把依赖信息全部删除
    • 简写(npm un 包名)
  • npm help
    • 查看使用帮助
  • npm 命令 --help
    • 查看具体命令的使用帮助(npm uninstall --help)

解决npm被墙问题

npm存储包文件的服务器在国外,有时候会被墙,速度很慢,所以需要解决这个问题。

安装淘宝的cnpm:

代码语言:javascript复制
npm install -g cnpm --registry=https://registry.npm.taobao.org;
代码语言:shell复制
#在任意目录执行都可以
#--global表示安装到全局,而非当前目录
#--global不能省略,否则不管用
npm install --global cnpm

安装包的时候把以前的npm替换成cnpm

代码语言:shell复制
#走国外的npm服务器下载jQuery包,速度比较慢
npm install jQuery;

#使用cnpm就会通过淘宝的服务器来下载jQuery
cnpm install jQuery;

如果不想安装cnpm又想使用淘宝的服务器来下载:

代码语言:shell复制
npm install jquery --registry=https://npm.taobao.org;

但是每次手动加参数就很麻烦,所以我们可以把这个选项加入到配置文件中:

代码语言:shell复制
npm config set registry https://npm.taobao.org;

#查看npm配置信息
npm config list;

只要经过上面的配置命令,则以后所有的npm install都会通过淘宝的服务器来下载

总结与思考

npm(Node Package Manager)是 Node.js 的默认软件包管理器,它使开发人员能够方便地在项目中添加、更新和删除依赖项,以及分享自己的代码和模块。

  1. 便于管理依赖项

npm 是一个很好的依赖管理工具,它可以让开发人员轻松地管理和更新项目的依赖项。它提供了一个集中的位置来查找和安装模块,同时也使得分享代码和模块变得更加容易。

  1. 提供了丰富的生态系统

由于 npm 具有广泛的用户基础和社区支持,因此它提供了一个丰富的生态系统,其中包括大量的模块、库和工具。这些模块和库可以帮助开发人员更快地构建应用程序,同时也使得项目更具可维护性和可扩展性。

  1. 存在一些问题

尽管 npm 是一个非常有用的工具,但它也存在一些问题。其中一个问题是包管理器的依赖关系可能会变得非常复杂和混乱,这可能会导致项目构建失败或出现运行时错误。此外,npm 还容易受到恶意包的攻击,这可能会导致安全漏洞和其他问题。

  1. 需要注意安全性

由于 npm 上存在大量的包和模块,因此开发人员需要格外注意安全性。他们应该避免使用未知来源的包和模块,以防止恶意代码的注入和其他安全问题。此外,他们还应该经常更新项目的依赖项,以确保应用程序的安全和稳定性。

综上所述,npm 是一个非常有用的软件包管理器,它使开发人员更容易地管理和更新项目的依赖项,并提供了一个丰富的生态系统。尽管存在一些问题,但只要开发人员遵循最佳实践和注意安全性,就可以确保 npm 对于他们的项目是非常有益的。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞