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
。
#走国外的npm服务器下载jQuery包,速度比较慢
npm install jQuery;
#使用cnpm就会通过淘宝的服务器来下载jQuery
cnpm install jQuery;
如果不想安装cnpm
又想使用淘宝的服务器来下载:
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 的默认软件包管理器,它使开发人员能够方便地在项目中添加、更新和删除依赖项,以及分享自己的代码和模块。
- 便于管理依赖项
npm 是一个很好的依赖管理工具,它可以让开发人员轻松地管理和更新项目的依赖项。它提供了一个集中的位置来查找和安装模块,同时也使得分享代码和模块变得更加容易。
- 提供了丰富的生态系统
由于 npm 具有广泛的用户基础和社区支持,因此它提供了一个丰富的生态系统,其中包括大量的模块、库和工具。这些模块和库可以帮助开发人员更快地构建应用程序,同时也使得项目更具可维护性和可扩展性。
- 存在一些问题
尽管 npm 是一个非常有用的工具,但它也存在一些问题。其中一个问题是包管理器的依赖关系可能会变得非常复杂和混乱,这可能会导致项目构建失败或出现运行时错误。此外,npm 还容易受到恶意包的攻击,这可能会导致安全漏洞和其他问题。
- 需要注意安全性
由于 npm 上存在大量的包和模块,因此开发人员需要格外注意安全性。他们应该避免使用未知来源的包和模块,以防止恶意代码的注入和其他安全问题。此外,他们还应该经常更新项目的依赖项,以确保应用程序的安全和稳定性。
综上所述,npm 是一个非常有用的软件包管理器,它使开发人员更容易地管理和更新项目的依赖项,并提供了一个丰富的生态系统。尽管存在一些问题,但只要开发人员遵循最佳实践和注意安全性,就可以确保 npm 对于他们的项目是非常有益的。
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!