一、Nodejs
1.1、Nodejs介绍
(相关资料图)
Node是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。发布于2009年5月,由RyanDahl开发,实质是对ChromeV8引擎进行了封装。
简单的说Node.js就是运行在服务端的JavaScript。Node.js是一个基于ChromeJavaScript运行时建立的一个平台。底层架构是:javascript.文件后缀:.js
Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
帮助文档:https://nodejs.org/zh-cn/docs
关于Nodejs:https://nodejs.org/zh-cn/about
1.2、安装
下载完成后打开无脑安装下一步默认安装即可
安装完成之后查看是否安装成功:
node-v
1.3、小结
Nodejs是一门计算机语言,运行在系统中的v8(jvm)引擎中。文件后缀是js运行的命令是:node
二、Nodejs快速入门
2.1、快速入门-HelloWorld
1、创建文件夹nodejs
2、创建helloworld.js
类似于java中的System.out.println("")console.log("HelloWorld!!!")
运行:nodehelloworld.js
结果:helloworld!!!
3、打开命令行终端:Ctrl+Shift+y
浏览器的内核包括两部分核心:
DOM渲染引擎;
javascript解析器(js引擎)
js运行在浏览器内核中的js引擎内部
4、小结
==Node.js是脱离浏览器环境运行的JavaScript程序,基于V8引擎==
2.2、Node-实现请求响应
1、创建httpserver.js;
//导入模块是require就类似于importjava.io
consthttp=require("http");
//1:创建一个httpserver服务
http.createServer(function(request,response){
//浏览器怎么认识helloserver!!!
response.writeHead(200,{"Content-type":"text/plain"});//这句话的含义是:告诉浏览器将
//以text-plain去解析helloserver这段数据。
//给浏览器输出内容
response.end("helloserver!!!");
}).listen(8888);
console.log("你启动的服务是:http://localhpst:8888以启动成功!!");
//2:监听一端口8888
//3:启动运行服务nodehttpserver.js
2、运行服务器程序;
nodehttpserver.js
3、服务器启动成功后,在浏览器中输入:http://localhost:8888/查看webserver成功运行,并输出html页面
4、停止服务:ctrl+c
2.3、Node-操作MYSQL数据库
参考:https://www.npmjs.com/package/mysql
1:安装mysql依赖
npminstallmysql
2:定义db.js进行操作
//1:导入mysql依赖包,mysql属于第三方的模块就类似于java.sql一样的道理
varmysql=require("mysql");
//1:创建一个mysql的Connection对象
//2:配置数据连接的信息
varconnection=mysql.createConnection({
host:"127.0.0.1",
port:3306,
user:"root",
password:"mkxiaoer",
database:"testdb"
});
//3:开辟连接
connection.connect;
//4:执行curd
connection.query("select*fromuser",function(error,results,fields){
//如果查询出错,直接抛出
if(error)throwerror;
//查询成功
console.log("results=",results);
});
//5:关闭连接
connection.end;
//最后一步:运行nodedb.js查看效果
3:新建数据库:db_test和表kss_user表
/*
NavicatMySQLDataTransfer
SourceServer:localhost
SourceServerType:MySQL
SourceServerVersion:60011
SourceHost:localhost:3306
SourceSchema:testdb
TargetServerType:MySQL
TargetServerVersion:60011
FileEncoding:65001
Date:20/01/202121:38:55
*/
SETNAMESutf8mb4;
SETFOREIGN_KEY_CHECKS=0;
------------------------------
--Tablestructureforuser
------------------------------
DROPTABLEIFEXISTS`user`;
CREATETABLE`user`(
`id`int(11)NOTNULL,
`name`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,
PRIMARYKEY(`id`)USINGBTREE
)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Compact;
------------------------------
--Recordsofkss_user
------------------------------
INSERTINTO`user`VALUES(1,"张三");
INSERTINTO`user`VALUES(2,"李四");
SETFOREIGN_KEY_CHECKS=1;
4、运行db.js
nodedb
如果想开发更复杂的基于Node.js的应用程序后台,需要进一步学习Node.js的Web开发相关框架express,art-template、koa等