NPM使用介绍
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题。
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用
- 允许用户从NPM服务器下载并安装别人编写好的命令程序到本地使用
- 允许用户将自己编写的包或者命令行程序上传到NPM服务器供别人使用
npm升级命令
1 | npm install npm -g |
npm命令安装模块
1 | npm install <Module Name> |
使用package.json
package.json位于模块目录下,用于定义包的属性。
package.json属性说明
- name:包名
- versin:包的版本号
- description:包的描述
- homepage:包的官网url
- author:包的作者姓名
- contributors:包的其他贡献者姓名
- dependencies:依赖包列表。如果依赖包没有安装,npm会自动将依赖包安装在node_module目录下
- repository:包代码存放的地方的类型,可以是git,svn,git可在GitHub上
- main:main字段制定了程序的主入口文件,require(‘module_name’)就会加载这个文件,这个字段的默认值是模块根目录下面的index.js
- keywords:关键字
卸载模块
1 | 卸载Node.js的web框架模块 |
更新模块
1 | 使用命令更新模块 |
搜索模块
1 | 搜索模块 |
使用淘宝NPM镜像
1 | 国内直接使用npm的官方镜像非常慢,推荐使用淘宝NPM镜像 |
Node.js REPL交互式解释器
Node.js REPL(Read Eval Print Loop:交互式解释器):表示一个电脑的环境,类似Window系统的终端或者Linux shell,我们可以在终端中输入命令,并接受系统的响应
Node自带的交互式解释器可执行的任务:
- 读取:读取用于输入,解析输入了JS数据结构并存储在内存中
- 执行:执行输入的数据结构
- 打印:输出结果
- 循环:循环操作以上步骤直到用户两次按下ctrl-c退出
输入node命令启动Node终端
1 | node |
表达式运算
1
node
使用Ctrl+c两次,退出REPL终端
Node.js回调函数
Node.js异步编程的体现就是回调
异步编程依赖于回调实现。但是不能说使用了回调后程序就异步化
回调函数在完成任务后就会被调用,Node使用了大量的回调函数,Node所有的API都支持回调函数。
比如:我们可以一边读取文件,一边执行其他命令,文件读取完成后,将文件内容作为回调函数的参数返回,这样在执行代码就没有阻塞或者等待文件I/O操作。提高了Node.js性能,处理大量的并发请求。
阻塞代码:
1
2
3
4var fs=require('fs');
var data=fs.readFileSync('input.txt');
console.log(data.toString());
console.log("程序结束");非阻塞代码
1
2
3
4
5
6
7var fs=require("fs");
fs.readFile('input.txt',function(err,data){
if(err)
return console.error(err);
console.log(data.toString());
});
console.log('程序结束');