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端口正在监听");

})

目录
相关文章
|
26天前
|
机器学习/深度学习 JavaScript Cloud Native
Node.js作为一种快速、可扩展的服务器端运行时环境
Node.js作为一种快速、可扩展的服务器端运行时环境
36 8
|
29天前
|
JavaScript
使用Node.js创建一个简单的Web服务器
使用Node.js创建一个简单的Web服务器
|
1月前
|
JavaScript
使用node.js搭建一个express后端服务器
Express 是 Node.js 的一个库,用于搭建后端服务器。本文将指导你从零开始构建一个简易的 Express 服务器,包括项目初始化、代码编写、服务启动与项目结构优化。通过创建 handler 和 router 文件夹分离路由和处理逻辑,使项目更清晰易维护。最后,通过 Postman 测试确保服务正常运行。
63 1
|
1月前
|
缓存 负载均衡 监控
性能优化:Node.js高效服务器开发技巧与最佳实践
【10月更文挑战第29天】在Node.js服务器开发中,性能优化至关重要。本文介绍了几种高效开发的最佳实践,包括使用缓存策略、采用异步编程、实施负载均衡和性能监控。通过示例代码展示了如何实现这些技术,帮助开发者构建更快、更稳定的Node.js应用。
81 2
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API服务器
【10月更文挑战第12天】使用JavaScript和Node.js构建简单的RESTful API服务器
30 0
|
1月前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
32 2
2024年5月node.js安装(winmac系统)保姆级教程
|
1月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
100 2
|
3月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
2月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
40 2
|
2月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)

热门文章

最新文章