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的require模块(文件模块/核心模块)及路径介绍
Jan 14 NodeJs
Nodejs异步回调的优雅处理方法
Sep 25 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
基于html5和nodejs相结合实现websocket即使通讯
Nov 19 NodeJs
NodeJS整合银联网关支付(DEMO)
Nov 09 NodeJs
解决nodejs中使用http请求返回值为html时乱码的问题
Feb 18 NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 NodeJs
Windows下使用Nodejs运行js的方法
Sep 02 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 NodeJs
详解redis在nodejs中的应用
May 02 NodeJs
基于nodejs res.end和res.send的区别
May 14 NodeJs
nodejs基础之多进程实例详解
Dec 27 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
web方式ftp
2006/10/09 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
2020/04/26 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
Python实现把json格式转换成文本或sql文件
2015/07/10 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python中扩展包的安装方法详解
2017/06/14 Python
python下载图片实现方法(超简单)
2017/07/21 Python
python删除字符串中指定字符的方法
2018/08/13 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
pygame实现成语填空游戏
2019/10/29 Python
python基于opencv检测程序运行效率
2019/12/28 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
python获取linux系统信息的三种方法
2020/10/14 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
绘画设计学生的个人自我评价
2013/09/20 职场文书
北大自主招生自荐信
2013/10/19 职场文书
竞选演讲稿范文
2013/12/28 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书