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实现黑名单中间件设计
Jun 17 NodeJs
基于NodeJS的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
NodeJS使用jQuery选择器操作DOM
Feb 13 NodeJs
Nodejs如何复制文件
Mar 09 NodeJs
NodeJS实现客户端js加密
Jan 09 NodeJs
nodejs基础知识
Feb 03 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
win系统下nodejs环境安装配置
May 04 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
NodeJS模块Buffer原理及使用方法解析
Nov 11 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
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
PHP使用递归生成文章树
2015/04/21 PHP
php动态函数调用方法
2015/05/21 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
js加密解密字符串可自定义密码因子
2014/05/13 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
2015/05/19 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
jQuery mobile转换url地址及获取url中目录部分的方法
2015/12/04 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[52:20]VP vs VG Supermajor小组赛 B组胜者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python使用urllib模块的urlopen超时问题解决方法
2014/11/08 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
对python tkinter窗口弹出置顶的方法详解
2019/06/14 Python
关于Python解包知识点总结
2020/05/05 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
static关键字的用法
2013/10/07 面试题
新大陆软件面试题
2016/11/24 面试题
教师年度考核自我鉴定
2014/01/19 职场文书
家长对学生的评语
2014/04/18 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
js之ajax文件上传
2021/05/13 Javascript
Python matplotlib 利用随机函数生成变化图形
2022/04/26 Python