Skip to content

Latest commit

 

History

History
87 lines (49 loc) · 4.07 KB

0.Node.js课程介绍.md

File metadata and controls

87 lines (49 loc) · 4.07 KB

Node.js 课程介绍

一、实验说明

1. 环境登录

无需密码自动登录,系统用户名shiyanlou,该用户具备sudo的权限,可以执行安装软件等管理员操作。

2. 环境介绍

本实验环境采用Ubuntu Linux桌面环境,实验中会用到桌面上的程序:

  1. Xfce终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令
  2. Firefox及Opera:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可
  3. gvim:非常好用的Vim编辑器,最简单的用法可以参考课程Vim编辑器
  4. gedit及Brackets:如果您对gvim的使用不熟悉,可以用这两个作为代码编辑器,其中Brackets非常适用于前端代码开发

3. 环境使用

使用编辑器输入实验所需的代码及文件,使用命令行终端运行所需命令进行操作。

“实验记录”页面可以在“我的主页”中查看,每次实验的截图及笔记,以及有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您在实验楼学习的真实性证明。

##二、Node.js介绍

###1. 概述

Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的、可扩展的网络应用。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻量和高效,非常适合构建运行在分布式设备的数据密集型的实时应用。

运行于浏览器的JavaScript,浏览器就是JavaScript代码的解析器,而Node.js则是服务器端JavaScript的代码解析器,存在于服务器端的JavaScript代码由Node.js来解析和运行。

JavaScript解析器只是JavaScript代码运行的一种环境,浏览器是JavaScript运行的一种环境,浏览器为JavaScript提供了操作DOM对象和window对象等的接口。Node.js也是JavaScript运行的一种环境,Node.js为JavaScript提供了操作文件、创建HTTP服务、 创建TCP/UDP服务等的接口,所以Node.js可以完成其他后台语言(Python、PHP等)能完成的工作。

###2. 交互式运行环境:REPL

Node.js提供了一个交互式运行环境,通过这个环境,可以立即执行JavaScript代码块,使用方法类似于Chrome浏览器中Firebug插件的Console。

双击虚拟机桌面的Xfce终端,进入Linux终端:

输入nodenodejs进入Node.js的交互式运行环境(老版本的Node.js,不支持node命令,只能使用nodejs命令),Ctrl+d组合键可以退出此环境。

查看系统中安装的Node.js版本:

$ node -v
$ node
> console.log('shiyanlou');

通过交互式环境也可以运行JavaScript文件。

在虚拟机桌面新建一个JavaScript文件,命名为test.js,打开gvim,输入如下代码并保存:

var num = 100;

console.log(num);
console.log(num + 100);

通过Node.js交互式环境运行文件:

$ cd Desktop
Desktop$ node test.js

##三、Node.js模块和包

###1. 模块

Node.js官方提供了很多模块,这些模块分别实现了一种功能,如操作文件的模块fs,构建http服务的模块http等,每个模块都是一个JavaScript文件,当然也可以自己编写模块。

###2. 包

包可以将多个具有依赖关系的模块组织在一起,封装多个模块,以方便管理。Node.js采用了CommonJS规范,根据CommonJS规范规定,一个JavaScript文件就是一个模块,而包是一个文件夹,包内必须包含一个JSON文件,命名为package.json。一般情况下,包内的bin文件夹存放二进制文件,包内的lib文件夹存放JavaScript文件,包内的doc文件夹存放文档,包内的test文件夹存放单元测试。package.json文件中需要包含的字段及包的使用,后面的实验再做详细介绍。

###3. npm包管理工具

npm是Node.js的包管理工具,npm定义了包依赖关系标准,我们使用npm主要用来下载第三方包和管理本地下载的第三方包。