这是我参与「第四届青训营 」笔记创作活动的第四天
1.Node.js是什么?
Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。
Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。
2.Node.js应用场景
-
前端工程化
-
web服务端应用
-
electron跨端桌面应用
3.Node.js运行时结构
4.Node.js的优点
nodejs作为一个新兴的后台语言,有很多吸引人的地方:
- RESTful API
- 单线程 Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
- 非阻塞IO
- V8虚拟机
- 事件驱动
5.Node.js简单知识点
1.js文件运行方式:win+cmd 后node+ 文件名
2.console.log
//类似sout
console.log("hello world!");
3. 导入模块
//导入模块是require 类似import java.io
const http = require('http');
//1.创建一个httpserver服务
http.createServer(function(request,response){
//浏览器怎么认识helloserver
response.writeHead(200,{'Content-type':'text/html'});//告诉浏览器将以text/plain去解析hello server这段数据
//给浏览器输出内容
response.end("<strong>hello server!!</strong>");
}).listen(8888);
console.log("您启动的服务是:http://localhost:8888已启动成功!!")
//2.监听一端口8888
//3.启动运行服务 node httpserver.js
//4.在浏览器访问http://localhost:8888
4. 连接数据库
//1.导入mysql依赖包,mysql属于第三方的模块类似于java。sql一样的道理
const { error } = require("console");
const { connect } = require("http2");
var mysql = require("mysql");
//1.创建mysql的connection对象
//2.配置数据库连接的信息
var connection = mysql.createConnection({
host:"127.0.0.1",
port:3306,
user:"root",
password:"042621",
database:"testdb"
});
//3.开辟连接
connection.connect();
//4.执行curd
connection.query("select * from kss_user",function(error,results,fields){
//如果查询出错,直接抛弃
if(error)throw error;
// if(error) throw error;
//否则查询成功
console.log("results = ",results);
})
//5.关闭连接
connection.end();
//最后一步:运行node db.js查看效果