nodejs 搭建简易服务器的图文教程(推荐)


Posted in NodeJs onJuly 18, 2017

nodejs 搭建简易服务器的图文教程(推荐)

www文件夹下

nodejs 搭建简易服务器的图文教程(推荐)

template文件夹下

nodejs 搭建简易服务器的图文教程(推荐)

server.js代码:

const express=require('express');
const static=require('express-static'); //托管静态文件
const cookieParser=require('cookie-parser');//解析cookie
const cookieSession=require('cookie-session');
//解析session
const bodyParser=require('body-parser');

//解析post数据
const multer=require('multer');
const consolidate=require('consolidate');
const mysql=require('mysql');

//连接池
const db=mysql.createPool({host: 'localhost', user: 'root', password: '123456', database: 'blog'});

var server=express();
server.listen(8080);

//1.解析cookie
server.use(cookieParser('sdfasl43kjoifguokn4lkhoifo4k3'));

//2.使用session
var arr=[];
for(var i=0;i<100000;i++){
 arr.push('keys_'+Math.random());
}
server.use(cookieSession({name: 'zns_sess_id', keys: arr, maxAge: 20*3600*1000}));

//3.post数据
server.use(bodyParser.urlencoded({extended: false}));
server.use(multer({dest: './www/upload'}).any());

//4.配置模板引擎
//输出什么东西
server.set('view engine', 'html');
//模板文件放在哪儿
server.set('views', './template');
//哪种模板引擎
server.engine('html', consolidate.ejs);

//接收用户请求
server.get('/', (req, res, next)=>{
 //查询banner的东西
 db.query("SELECT * FROM banner_table", (err, data)=>{
 if(err){
  res.status(500).send('database error').end();
 }else{
  res.banners=data;

  next();
 }
 });
});
server.get('/', (req, res, next)=>{
 //查询文章列表
 db.query('SELECT ID,title,summery FROM article_table', (err, data)=>{
 if(err){
  res.status(500).send('database error').end();
 }else{
  res.articles=data;

  next();
 }
 });
});
server.get('/', (req, res)=>{
 res.render('index.ejs', {banners: res.banners, articles: res.articles});
});

server.get('/article', (req, res)=>{
 res.render('conText.ejs', {});
});



//4.static数据
server.use(static('./www'));

index.ejs代码:

<div class="content">
 <div class="banner">
  <ul class="clearfix">
  <% for(var i=0;i<banners.length;i++){ %>
  <li>
   <img src="<%= banners[i].src %>" alt=""/>
   <div class="text-box">
   <h2><%= banners[i].title %></h2>
   <p><%= banners[i].sub_title %></p>
   </div>
  </li>
  <% } %>
  </ul>
  <ol>
   <li class="active"></li>
   <li></li>
   <li></li>
  </ol>
 </div>
 <div class="newsList">
  <ul>
  <% for(var i=0;i<articles.length;i++){ %>
  <li>
   <a href="/article?id=<%= articles[i].ID %>" rel="external nofollow" >
   <h2><%= articles[i].title %></h2>
   <p><%= articles[i].summery %></p>
   </a>
  </li>
  <% } %>
  </ul>
 </div>
</div>

以上这篇nodejs 搭建简易服务器的图文教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJS的url截取模块url-extract的使用实例
Nov 18 NodeJs
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
轻松创建nodejs服务器(4):路由
Dec 18 NodeJs
详解nodejs 文本操作模块-fs模块(三)
Dec 22 NodeJs
Nodejs搭建wss服务器教程
May 24 NodeJs
Nodejs之http的表单提交
Jul 07 NodeJs
NodeJS搭建HTTP服务器的实现步骤
Oct 12 NodeJs
Nodejs让异步变成同步的方法
Mar 02 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
NodeJs实现简易WEB上传下载服务器
Aug 10 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
nodejs密码加密中生成随机数的实例代码
Jul 17 #NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 #NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 #NodeJs
详解nodejs的express如何自动生成项目框架
Jul 12 #NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 #NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
Jul 12 #NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 #NodeJs
You might like
日本十大惊悚动漫
2020/03/04 日漫
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks &amp; solutions)
2010/03/01 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
python脚本监控docker容器
2016/04/27 Python
Django入门使用示例
2017/12/12 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
django settings.py 配置文件及介绍
2019/07/15 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
python中如何写类
2020/06/29 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
超市业务员岗位职责
2013/12/05 职场文书
大学共青团员个人自我评价
2014/04/16 职场文书
建议书的格式
2014/05/12 职场文书
结婚保证书
2015/01/16 职场文书
地震慰问信
2015/02/14 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
2019毕业论文致谢词
2019/06/24 职场文书
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript