admin 管理员组

文章数量: 887021


2023年12月23日发(作者:java没配置环境变量)

NodeJS学习手册

1、 NodeJs是什么?

是一个基于Chrome JavaScript运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。 使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。Node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

特点:1. 它是一个Javascript运行环境;2. 依赖于Chrome V8引擎进行代码解释;3. 事件驱动;4. 非阻塞I/O;5. 轻量、可伸缩,适于实时数据交互应用;6. 单进程,单线程;

2、 NodeJs安装(windows)

(1) 下载NodeJS安装包

下载地址:/download/,选择windows安装包及版本后继续

(2) 下载完成后点击安装程序进行安装

(3) 安装完成后,检查环境变量中是否已添加NodeJs的路径,如下图:

若有可执行node –version命令,可正常执行并出现如下图版本号则安装成功:

3、 简单的NodeJs程序HelloWorld

(1) 创建一个文件,文件内容如下:

//获取http模块,nodeJS用require获取方法及模块

var http = require('http');

//创建http监听方法,listen(8888)监听8888端口

Server(function (request, response) {

ead(200, {'Content-Type': 'text/plain'});

//设置8888端口调用返回值Hello World

('Hello Worldn');

}).listen(8888);

//控制台打印信息

('Server running at 127.0.0.1:8888/');

(2) 进入目录执行node 命令,启动该程序,执行效果如下:

(3) 打开浏览器,输入链接localhost:8888,浏览器出现如下信息:

以上一个简单的http服务器就创建完成了。

4、 NodeJS的express开发框架使用

(1) 安装express库

在系统命令行操作页面执行npm install -g express-generator@4安装express4库,执行效果如下:

再执行express –V命令,命令行打印出express版本则安装成功,如下图:

(2) 创建express项目

进入想创建项目的路径,执行语句express -e express_demo,执行和效果如下图:

命令执行后,在文件夹会创建express_demo项目,创建文件如下:

各目录用途如下:

bin, 存放启动项目的脚本文件

node_modules, 存放所有的项目依赖库。

public,静态文件(css,js,img)

routes,路由文件(MVC中的C,controller)

views,页面文件(Ejs模板)

,项目依赖配置及开发者信息

,应用核心配置文件

(3) 安装express依赖库,构建项目

进入express_demo目录执行npm install命令,下载安装依赖库,执行后效果如下:

执行之后项目node_modules增加如下目录:

这些即为命令下载的依赖库,通过require方法可以调用这个依赖库中的模块。

(4) Express项目启动

Express4.0之后启动项目使用npm start命令,执行后效果如下:

浏览器访问效果如下:

如此,一个express项目就建立完成了。

5、 NodeJS的supervisor命令

NodeJS项目常规项目启动方法,每次做修改都需要手动重启,给开发调试造成很大的不方便,所以提供supervisor命令,该命令可以在修改项目文件后自动重启项目,无需手动重启,具体使用方法如下:

(1) 安装supervisor,执行npm install supervisor命令,执行效果如下:

(2) 利用supervisor命令启动项目,这边需要注意,supervisor命令只能启动js文件,所以expess4.0的项目,需要启动bin目录下的文件,执行如下:

如上操作后项目就利用supervisor命令成功启动,当项目文件变动时,supervisor会将项目自动重启。

6、 NodeJS开发工具

NodeJS开发常用工具有sublime2,webstorm及eclipse插件nodeclipse,其中sublime2适用小型项目开发,webstorm适用于大型项目开发,由于我们主要开发语言是java所以建议适用nodeclipse进行开发。安装nodeclipse插件需要安装如下两个插件:

(1) 安装插件NodeJS的插件,下载地址:/updates

(2) 安装VJET编辑提示插件,下载地址:/vjet/updates-0.10

以上两个插件安装成功后,就可以在eclipse中新建nodeJs项目,并在其中启动nodeJS项目,这边需要注意的是目前nodeclipse对express4.0框架的支持存在问题,无法启动express4.0的项目,建议在eclipse环境中开发使用express3.0框架。

7、 NodeJS与mysql数据库结合使用

felixge/node-mysql是一个纯nodejs的用javascript实现的一个MySQL客户端程序。felixge/node-mysql封装了Nodejs对MySQL的基本操作,这边主要使用它实现NodeJS与mysql的连接,具体连接操作如下:

(1) 创建基于express4.0的NodeJS测试项目,进入项目下载依赖库,检查项目运行正常;

(2) 进入项目根目录,下载felixge/node-mysql模块,在命令行执行命令npm install

mysql@2.0.0-alpha9,执行后效果如下:

执行之后,项目node_modules目录增加mysql目录,则mysql连接模块安装成功。

(3) 在数据库建立teacher表,表里有name,sex,age三个属性,数据库默认一条数据,信息如下:

(4) 打开项目文件,添加如下代码:

//获取mysql连接组件

varmysql = require('mysql');

//设置mysql连接信息

var conn = Connection({

host: 'localhost',

user: 'root',

password: 'root',

database: 'test',

port: 3306

});

//连接数据库

t();

//定义需要执行的mysql语句

varinsertSQL = 'insert into teacher(name,sex,age)

values("Tom","man",23),("Jack","man",24),("Lily","woman",28)';

varselectSQL = 'select * from teacher limit 10';

vardeleteSQL = 'delete from teacher';

varupdateSQL = 'update teacher set name="Arvin" where age=23';

//delete

(deleteSQL, function (err0, res0) {

if (err0) (err0);

("DELETE Return ==> ");

(res0);

//insert

(insertSQL, function (err1, res1) {

if (err1) (err1);

("INSERT Return ==> ");

(res1);

//query

(selectSQL, function (err2, rows) {

if (err2) (err2);

("SELECT ==> ");

for (vari in rows) {

(rows[i]);

}

//update

(updateSQL, function (err3, res3) {

if (err3) (err3);

("UPDATE Return ==> ");

(res3);

//query

(selectSQL, function (err4, rows2) {

if (err4) (err4);

("SELECT ==> ");

for (vari in rows2) {

(rows2[i]);

}

});

});

});

});

});

以上语句连接数据库后依次执行删除数据,插入三条数据,查询数据,更新一条数据。

(5) 启动程序,查看控制台输出如下:

从控制台打印数据可以看出nodeJS已成功连接上mysql并且按照顺序执行了mysql语句,查看数据库可以看出执行正确,如图:

8、 NodeJS与redis连接

Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操

作都是原子性的。Redis在Java开发中有很多应用,这边学习NodeJS与redis的连接使用:

(1) 安装redis

从/dmajkic/redis/downloads下载redis并解压到想要安装的目录;

(2) 启动redis

打开命令行操作界面,进入redis根目录下,执行语句:

,命令行打印出如下信息:

如上图,则redis启动成功。

(3) 连接redis

重新打开一个命令行操作页面,进入根目录,执行语句 -h

127.0.0.1 -p 6379,连接redis,执行后控制台输出如下:

同时redis服务端控制台打印如下消息,表面有一个客户端连接,如图:

以上输出表明连接redis成功。

(4) 测试redis

进入已连接的redis客户端操作命令行界面,存储一个key为test,执行命令set test “Hello World”,执行后,控制台打印如下:

再将test值取出,执行命令get test,控制台打印如下:

(5) 创建基于express4.0的NodeJS测试项目,进入项目下载依赖库,检查项目运行正常;

(6) 进入项目,安装redis依赖包,执行语句npm install redis,控制台输出如下:

项目目录node_modules中新增redis文件夹;

(7) 打开文件添加如下代码:

//获取redis连接组件

varredis = require("redis");

//连接本地redis

var client = Client(6379,'127.0.0.1');

//set 'redistest'值this is an testing redis,若set成功则get并打印值

('redistest', 'this is an testing redis', function(err, response) {

if (err) {

('Failed to set key of 'redistest', error:' + err);

return false;

}

('redistest',function(errGet,responseGet){

(''redistest':'+responseGet);

});

});

(8) 启动NodeJS项目,查看控制台输出信息,如下图:

可以看到成功打印该信息,为确保set完成,启动redis的client端,运行get redistest,获取redistest值,查看输出,如下:

经过以上操作,nodeJS成功便可成功连接并操作redis。

9、 参考资料

学习步骤建议:/story/4664635

NodeJS连接mysql:/series-nodejs/

NodeJS连接redis:/robanlee/blog/261720

Nodeclipse安装:/blog/1855154


本文标签: 项目 执行 数据 启动 文件