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实现的一个简单udp广播服务器、客户端
Sep 25 NodeJs
NodeJS制作爬虫全过程
Dec 22 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
通过nodejs 服务器读取HTML文件渲染到页面的方法
May 17 NodeJs
nodejs 十六进制字符串型数据与btye型数据相互转换
Jul 30 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 NodeJs
NodeJs入门教程之定时器和队列
Mar 08 NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 NodeJs
nodejs log4js 使用详解
May 31 NodeJs
nodejs对mongodb数据库的增加修删该查实例代码
Jan 05 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
优化PHP代码技巧的小结
2013/06/02 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
学习YUI.Ext第五日--做拖放Darg&amp;Drop
2007/03/10 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
Python探索之静态方法和类方法的区别详解
2017/10/27 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Opencv求取连通区域重心实例
2020/06/04 Python
德国高性价比网上药店:medpex
2017/07/09 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
护士毕业自我鉴定
2014/02/07 职场文书
社会学专业学生职业规划书
2014/02/07 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
元旦联欢会主持词
2014/03/26 职场文书
保密承诺书范文
2014/03/27 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
2014年党员整改措施
2014/10/24 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
2015年党员岗位承诺书
2015/04/27 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS