无需密码自动登录,系统用户名shiyanlou,该用户具备sudo的权限,可以执行安装软件等管理员操作。
本实验环境采用Ubuntu Linux桌面环境,实验中会用到桌面上的程序:
- Xfce终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令
- Firefox及Opera:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可
- gvim:非常好用的Vim编辑器,最简单的用法可以参考课程Vim编辑器
- gedit及Brackets:如果您对gvim的使用不熟悉,可以用这两个作为代码编辑器,其中Brackets非常适用于前端代码开发
使用编辑器输入实验所需的代码及文件,使用命令行终端运行所需命令进行操作。
“实验记录”页面可以在“我的主页”中查看,每次实验的截图及笔记,以及有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您在实验楼学习的真实性证明。
##二、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终端:
输入node
或nodejs
进入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主要用来下载第三方包和管理本地下载的第三方包。