node.js | 青训营笔记

109 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第四天

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运行时结构

image.png

4.Node.js的优点

nodejs作为一个新兴的后台语言,有很多吸引人的地方:

  • RESTful API
  • 单线程 Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
  • 非阻塞IO
  • V8虚拟机
  • 事件驱动

5.Node.js简单知识点

1.js文件运行方式:win+cmdnode+ 文件名

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查看效果