Nodejs + express + ejs 之服务器demo

2024-06-19 21:58

本文主要是介绍Nodejs + express + ejs 之服务器demo,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

var http=require("http");
var express=require("express");
var fs = require("fs");
var bodyParser = require('body-parser');
var Common = require("./publice/common");
var app=express();// 定时器
var refTimer = null;var tem={title:"我是中间部分",info:[{Name:"davi", Time:1497591600000},{name:"bill", Time:1497591600000},{name:"can", Time:1497591600000}]
};// 内存缓存账户列表
var AccountMap = {};// 初始化账号列表
function init () {// 从文件中加载数据到 AccountMapvar data = operatFile();if(data) AccountMap = data;
}//app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded//创建服务器
http.createServer(app).listen(3000,"0.0.0.0",function(){console.log("Server is listening port 3000");
});//挂载静态资源处理中间件
app.use(express.static(__dirname));//挂载静态资源处理中间件
//app.locals.Common = Common;
app.use(function(req, res, next){res.locals.Common = Common;next();
});//设置模板视图的目录
app.set("views","./views");//设置是否启用视图编译缓存,启用将加快服务器执行效率
app.set("view cache",true);//设置模板引擎的格式即运用何种模板引擎
app.set("view engine","ejs");//设置路由
app.get("/",function(req,res){var logData = AccountMap || operatFile();return res.render("index",tem);
});
app.get("/index",function(req,res){var logData = AccountMap || operatFile();return res.render("index",tem);
});//写个接口
app.get('/history',function(req,res){var logData = AccountMap || operatFile();//res.json({State: 0, Data: {title:tem.message,names:["odl", "dkkd", "ejs", "kkk"]}});var item = {title:"我是中间部分",info:[{Name:"davi", Time:1497591600000},{name:"bill", Time:1497591600000},{name:"can", Time:1497591600000},{name:"can", Time:1497592600000}]};return res.render("tradeLog",item);
});

// 数据推送 (主要提供给 数据库服务器 数据推过来) app.post(
'/account/info',function(req, res){// 数据格式// {user: 'xjl30', info: {}}// 保存数据// 保存到文件和内存中var param = JSON.stringify(req.body);console.log("<-----------------------分割线-------------------------->");console.log("数据来啦: " + param);//AccountMap[]if(param){AccountMap = param;operatFile(param); // 数据保存到文件中 } });// 数据处理 function operatFile(fData){console.log("打开文件");fs.open("./log/historyLog.txt", "w+", function(err, fd){ // w+ 以读写模式打开文件,如果文件不存在则创建。if(err){return console.error(err);}if(fData)fs.writeFile('./log/historyLog.txt', fData, function(err) {if (err) {return console.error(err);}console.log("写入文件数据");fs.close(fd);});elsegetLogFile(fd);}); }function getLogFile(fd){var historyData = "";fs.readFile('./log/historyLog.txt', function (err, data) {if (err) {return console.error(err);}if (data.toString()==""){return console.error("文件数据为空");}historyData = data;console.log("读取文件数据");fs.close(fd);});return historyData; }init();

 

这篇关于Nodejs + express + ejs 之服务器demo的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076257

相关文章

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众

如何提高Redis服务器的最大打开文件数限制

《如何提高Redis服务器的最大打开文件数限制》文章讨论了如何提高Redis服务器的最大打开文件数限制,以支持高并发服务,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录如何提高Redis服务器的最大打开文件数限制问题诊断解决步骤1. 修改系统级别的限制2. 为Redis进程特别设置限制

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频