node.js中的包管理之npm使用介绍

一、NPM介绍

NPM 是Node.js的包管理工具。它的重要性就像 gem 之于 Ruby 一样。Node.js 与 NPM的关系是密不可分的。

1. NPM 常用命令

NPM 默认是与Node.js 一起安装的,可以在命令行中输入npm ,验证是否安装,如图所示:

 可以通过npm -v 或 npm version 命令查看NPM的安装版本。

2. npm init

通过 npm init 命令 可以生产一个package.json文件。这是整个项目的描述文件。通过这个文件可以清除地知道项目的包依赖关系、版本、作者等信息。 每个NPM包都有自己的package.json文件,使用这个命令需要填写如图所示信息:

填写完毕后,可以看到在使用该命令的文件夹中多了一个package.json文件。当然,如果不想填写,可以在此命令后面添加参数-y 或者 -yes, 这样系统会使用默认值生成package.json文件。

3. npm install 

这是安装第三方的命令。如安装underscore这个包(underscore是一个强大的JavaScript工具包,使用这个库可以大大提高开发效率)。

安装第三方包的的时候可以在命令后添加-save 或者 -S,这样所安装的包的信息会记录在package.json文件的dependencies字段中,如图:

npm install underscore -save

当然,如果这个包只是开发阶段需要的,可以继续添加-dev 参数。这样安装的包的信息将会记录在package.json文件的devDependencies字段中,如图:

npm install underscore -save-dev

建议将项目中所有安装的包都记录在package.json文件中。当我们的package.json文件中有了依赖包的记录时,只需要运行npm install 命令,系统就会自动安装所有项目需要的安装包。——在团队开发或者给别人使用时,可以很方便地知道你安装了哪些包。

4. package.json文件

package.json文件 是提供包描述的文件。在Node.js中,一个包是一个文件夹,其中的package.json文件以 json 格式存储该包的相关描述。

主要字段有:

Name: 包的名字。

Respository: 包存放的仓库地址。

Keywords: 包的关键字,有利于别人通过搜索找到你的包。

License: 遵循的协议。

Maintainers: 包的维护者。

Author: 包的作者。

Version: 包的版本号,遵循 版本命名规范。

Dependencies:包依赖的其他包。

devDependencies :包开发阶段依赖的其他包。

homepage: 包的官方主页。

其他字段见https://docs.npmjs.com/files/package.json。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Debian社区

如何在 Nginx 中配置 gRPC 的代理

Nginx 在 1.13.10 中,新增了对gRPC的原生支持,Nginx 1.14.0 主线版已经发布。本文将介绍,如何配置 Nginx 中的 gRPC 服务...

98770
来自专栏AndroidTv

前端入门15-JavaScript进阶之原型链声明正文-原型链

作为一个前端小白,入门跟着这几个来源学习,感谢作者的分享,在其基础上,通过自己的理解,梳理出的知识点,或许有遗漏,或许有些理解是错误的,如有发现,欢迎指点下。

8220
来自专栏Debian社区

WebAssembly时代 Rust也想成为Web语言

目前 Mozilla 正在基于 WebAssembly 可移植代码格式研发 JavaScript 和 Rust 之间的桥梁——wasm-bindgen,意义是提...

11010
来自专栏AndroidTv

前端入门16-JavaScript进阶之EC和VO声明正文-执行上下文EC和变量对象VO

作为一个前端小白,入门跟着这几个来源学习,感谢作者的分享,在其基础上,通过自己的理解,梳理出的知识点,或许有遗漏,或许有些理解是错误的,如有发现,欢迎指点下。

17630
来自专栏Debian社区

如何在 Debian服务器 上启用双因子身份验证

双因子身份验证就是指,需要两种身份验证才能完成账号有效性的验证,可以是密码、SSH 密钥,也可以是第三方服务,比如 Google Authenticator。这...

18920
来自专栏Debian社区

高性能日志采集工具 logpipe 简单介绍

在集群化环境里,日志采集是重要基础设施。本文结合最新的 1.0.9 版,对 logpipe 做一个简单的介绍。开源主流解决方案是基于 flume-ng,但在实际...

20920
来自专栏Debian社区

使用 cURL 对Web请求进行性能测试

在做 Web 开发的时候,经常需要对 Web Page 或者 REST-ful API 做简单的 Benchmark。本文将介绍如何使用 cURL 进行简单快速...

37620
来自专栏Debian社区

十个增加 Linux Shell 脚本趣味的小工具

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的输出,光标位置还有各种输出效...

24340
来自专栏Debian社区

为什么使用 JavaScript 开发物联网?

嵌入式设备与JavaScript看似是来自两个不同世界的两个物种,八竿子都打不着。但是随着JavaScript 开疆扩土,从浏览器逆袭登陆到服务端之后又与物联网...

77630
来自专栏Debian社区

基于Inception & Yearning做SQL审核的实践

SQL审核是保证数据库 DDL 和 DML 安全使用、SQL变更可追溯、降低线上数据事故概率的重要手段。去哪儿网开源的 Inception 工具有较大的使用基础...

27520

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励