node服务器用法介绍

简介: node服务器用法介绍

先介绍node.js的安装,再介绍使用node.js构建一个简单的web服务器,最后通过一个简单的示例,演示网页与服务器之间的数据交互的实现。

WEB服务器

WEB服务器也称为WWW服务器。WWW(World Wide Web、翻译成中文:万维网或环球信息网)服务器的基本功能就是提供Web信息浏览服务。Web服务器可以向Web浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览,更可以放置数据文件,让全世界下载。

常见的Web服务器软件有Apache、Internet信息服务器(Internet Information Services,IIS)等。

Apache服务器:Apache服务器是一款开源免费的服务器软件,几乎可以在所以有的计算机平台上运行,由于Apache是开源,因此所有人都可以参与开发新功能,并且不断对Apache服务器进行完善。Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页,它是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上(即支持多平台)。其属于应用服务器。

IIS服务器:IIS服务器是微软的服务器,可允许IIS在公共Intranet或Internet上发布相信的Web服务器。IIS只能在微软公司的windows操作系统下使用。

不依赖前面提到的Web服务软件,使用Node.js 也能搭建Web服务器。

Node.js是什么?

简单地说,Node.js 是一种开源且跨平台的服务器端 JavaScript 运行时环境,并可以让 JavaScript 做后端。

在Windows 上安装 Node.js

要使用Node.js 需要安装之。

要使用Node.js 需要安装之。先到nodejs官网 Node.js 或到中文网站下载 | Node.js 中文网 下载

LTS代表“长期支持”,建议大多数用户使用这种版本。我下载的是node-v14.18.1-x64.msi

简单看下代码:
const express = require("express");
const mysql = require("mysql");
let nodemailer = require("nodemailer")
let app = express();

let cors = require("cors");
app.use(cors());

const bodyparser = require("body-parser")
app.use(bodyparser.urlencoded({extended:false}))
app.use(bodyparser.json())

//发送qq邮箱函数
function sendMail(text,receive){

let user = "3534912941@qq.com";//自己的qq邮箱
let pass = "lhgyfafsvtxddbgh";//自己的qq邮箱授权码
let to = "2251084392@qq.com"//目标发送qq邮箱
let transporter = nodemailer.createTransport({
    host:"smtp.qq.com",
    port:587,
    secure:false,
    auth:{
        user:user,
        pass:pass
    }
});
let options={
    from:`${user}`,
        to:`2251084392@qq.com`,
        subject:'测试验证码',
        text:text
};
transporter.sendMail(options,function(err,msg){
    if(err){
        console.log("错误");
    }else{
        console.log(msg);
        transporter.close();
    }
})
// let info =  transporter.sendMail({
//     from:`测试发送验证码${user}`,
//     to:`测试验证码${to}`,
//     subject:'测试验证码',
//     text:text
// })
// console.log(info);

}
// 发送验证码接口
app.post("/emails",(request,response)=>{

let qqEmail  
sendMail("验证码为1235","2251084392@qq.com")

})
//发送验证码接口
// app.use("/emails",function(request,response,next){
// // let qqEmail = request.body.email;
// let qqEmail = "2251084392@qq.com";
// console.log(qqEmail);
// let obj = {
// code:Math.ceil(Math.random()*1000)
// };
// let text = 验证码是${obj.code};
// console.log(text);
// sendMail(text,qqEmail);
// response.end(JSON.stringify(obj));
// next();
// })
//连接数据库
const con = mysql.createConnection({

user:'root',
password:'w123456789',
host:"localhost",
database:'uesreg'

})

//测试连接
// con.connect(err=>{
// // null代表连接成功
// console.log(err);
// })

//注册验证
app.get("/logmessage",(request,response)=>{

let Sqlquery = `SELECT urename FROM reg `
let flg = false;
con.query(Sqlquery,(err,res)=>{
    // res.forEach(element => {
    //     if(request.query.usename==element.urename){
    //         flg = true;
    //         response.send("账号已经存在,换一个吧")
    //         return ;
    //     }
    //     // console.log(element.urename);           
    // });
    for (let i = 0; i < res.length; i++) {
        if(res[i].urename==request.query.usename){
            flg=true;
            response.send("账号已经存在,换一个吧")
            break;
        } 
    }
    if(flg==false){
        let SqlStr = `INSERT INTO reg VALUES(${Number(request.query.usename)},'${request.query.password}','${request.query.email}')`;
       con.query(SqlStr,(err)=>{
           console.log("成功注册");
       })
        response.send(true)
   }
});
// console.log(request.query);
// if(request.query.usename=="123"){
//     response.send("teur")
// }

})
//登录验证
app.post("/logincheck",(request,response)=>{

let Sqlaccount = `SELECT urename FROM reg WHERE urename=${request.body.account}`
con.query(Sqlaccount,(err,res)=>{
    // console.log(res.length);
    if(res.length==0){
        // console.log("没有此账号");
        response.send("没有此账号,请重新登录")
        return;
    }else{
        let Sqlpasword = `SELECT urename FROM reg WHERE urename=${request.body.account} and pasword= '${request.body.code}'`
        con.query(Sqlpasword,(err,res)=>{
            // console.log(res);
            if(res.length!=0){
                // console.log("成功");
                response.send("登录成功")
            }else{
                // console.log("失败");
                response.send("密码错误,请重新输入");
                return ;
            }
        })
    }
})
console.log(request.body);

})
app.listen(5000,()=>{

console.log("5000端口正在监听");

})

目录
相关文章
|
17天前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
33 2
|
1月前
|
JSON JavaScript 前端开发
使用 Node.js 和 Express 构建 RESTful API 服务器
【10月更文挑战第3天】使用 Node.js 和 Express 构建 RESTful API 服务器
|
1月前
|
Web App开发 JavaScript 前端开发
使用Node.js和Express框架构建Web服务器
使用Node.js和Express框架构建Web服务器
|
1月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
17 0
|
2月前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
58 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
2月前
|
JavaScript Linux 开发工具
如何将nodejs项目程序部署到阿里云服务器上
该文章详细描述了将Node.js项目部署到阿里云服务器的步骤,包括服务器环境配置、项目上传及使用PM2进行服务管理的过程。
Node:http-server开启静态服务器
Node:http-server开启静态服务器
220 0
|
2月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
1月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
30 2
|
2月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)