总结:NodeJS

一、介绍

Nodejs就像是Java中的JVM,是js的运行环境。nodejs不是一个js框架,千万不要认为是类似jquery的框架。

nodejs的作用和jvm的一样一样的,也是js的运行环境,不管你是什么操作系统,只要安装对应版本的nodejs,那你就可以用js来开发后台程序。

Nodejs就是使用javascript编写,并且运行在服务器。也就是说Nodejs实现了使用js来开发后端

这具有划时代的意义,意味着一直以来只能在浏览器上玩来玩去的js,可以做后端开发了!

从有了Nodejs后就催生出一大批用js做后台开发的前端人员,这部分人员就是偏前端的“全栈程序员”。

Nodejs采用Google开发的V8引擎运行js代码,使用事件驱动、非阻塞和异步模型等技术来提高性能,可优化应用程序的传输量和规模。

V8引擎是Google发布的开源JavaScript引擎,本身就是用于Chrome浏览器的js解释部分,但是Ryan Dahl鬼才般地,把这个V8搬到了服务器上,用于做服务器的软件。

Nodejs大部分基本模块都用JavaScript编写。在Node出现之前,JS通常作为客户端程序设计语言使用,以JS写出的程序常在用户的浏览器上运行。

nodejs与npm版本对应关系:Previous Releases | Node.js

二、Nodejs产生背景

产生原因:解决传统服务器内存浪费大的问题。

传统服务器每次产生一个请求,就对应着一个线程。数据请求又比较慢就会出现有很多线程再缓存中等待,就会造成大量的内存浪费。

所以使用Node.js编写的服务器采用单线程模式,即不管产生多少请求就只有一个线程,这样就可以节省空间,大大降低了成本。

我们常说JS是单线程的,这也与它运行在Nodejs上的有关。

三、特点

1、单线程

Node.js是单线程的,有利也有弊。

弊端:如果请求太多单线程会处理不过来的,所以我们一般情况下采用集群的方法来弥补这个缺点。集群是指采取多个服务器,node.js对服务器的要求不高,所以不必担心价格问题。

优点:不占用内存,没有CPU频繁切换的消耗

2、

四、Nodejs的用途

Nodejs就是服务器,所以服务器有的作用它都有,如:Web服务API,比如REST

五、安装

参考Hubble-UI的安装即可。

安装完并配置环境变量后,验证下:

六、Nodejs开发

1、node命令行模式

输入node即可,然后输入js代码,并回车执行:

2、执行js文件

首先,编写JS文件,hellonode.js:

运行文件:

七、浏览器与node.js的区别

  • NodeJS 环境和浏览器环境一样都是一个 JS 的运行环境, 都可以执行JS代码,但是由于​​宿主的不同所以特点也有所不同

  • 浏览器和node.js都可以看作是JS的运行平台,浏览器是JS在客户端的运行时环境,而node.js是JS在服务端的运行环境。

  • JS需要浏览器的JS引擎进行解析执行,但是不同浏览器的JS引擎不同,存在兼容性问题。而node.js是基于 chrome v8引擎的运行时环境,无兼容性问题。

待补充

八、Nodejs操作数据库

Nodejs开发后端案例之操作数据库。

首先连接Mysql数据库之前需要先去安装npm包管理中的MySQL模块,该模块支持MySQL5.7+的数据库;

安装Mysql模块:

npm install mysql -S

连接数据库:

// 导入mysql
var mysql = require("mysql");
// 创建连接
var con = mysql.createConnection({
    host:"localhost",
    user:"root",
    password:"123456",
    database:"feedback"
})
// 连接数据库
con.connect(function(err){
    if(!err){
        console.log("数据库连接成功")
    }else{
        console.error("数据库连接失败",err);
    }
})

查询数据库中的数据:

如下顺便提供了一个/list接口:

app.get("/list",function(req,res){
    // 定义sql
    var sql = `select name,score,id from user where 1`;
    // 查询sql
    con.query(sql,function(err,result){
        if(!err){
            // 没有错误返回数据
            res.json({
                "errCode":0,
                "msg":"请求成功",
                "list":result
                })
        }else{
            // 返回错误原因
            res.json({
                "errCode":1,
                "msg":"数据库错误"
            })
        }
    })
    
})

访问:

九、Nodejs开发Web服务

Express基于 Node.js 平台,快速、开放、极简的 Web 开发框架。

Express.js 主要特性:

  • 更快的服务端开发

  • 赋能开发者更快地构建 RESTful API

  • Express 支持 MVC 架构,但需要开发者做一些额外工作

  • 开箱支持 NoSQL 数据库

安装包

和连接数据库案例一样,我们也要先安装Express相关包:

npm install express -g
npm install express-generator -g

初始化项目

D:\MyWork //进入该目录创建项目
express 项目名称

安装依赖

cd ApiService  //进入项目
npm install  //安装依赖

启动项目:

npm start   //启动

默认监听3000端口,可在bin/www文件内修改或做成配置,浏览器中直接打开访问如下:

开发Api接口:

创建名为 app.js 的文件,并添加以下代码:

const express = require("express");
const app = express();
const port = 3000;

app.get("/", (req, res) => res.send("Hello World!"));

app.get("/products", (req,res) => {
   const products = [
     {
       id: 1,
       name: "hammer",
     },
     {
       id: 2,
       name: "screwdriver",
     },
     ,
     {
       id: 3,
       name: "wrench",
     },
   ];

  res.json(products);
})

app.listen(port, () => console.log(`Example app listening on port ${port}!`));

在终端中,运行以下命令以重启 Web Express 应用:node app.js

应该会看到以下输出:

Example app listening on port 3000!

在浏览器中转到 http://localhost:3000/products。 应该会看到以下输出:

[{"id":1,"name":"hammer"},{"id":2,"name":"screwdriver"},{"id":3,"name":"wrench"}]

Node.js简介_nodejs-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值