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 20 NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
nodejs简单实现操作arduino
Sep 25 NodeJs
详解nodejs中的process进程
Mar 19 NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 NodeJs
详解nodejs内置模块
May 06 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中的串行化变量和序列化对象
2006/09/05 PHP
PHP新手上路(三)
2006/10/09 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP实现在线阅读PDF文件的方法
2015/06/23 PHP
PHP实现按之字形顺序打印二叉树的方法
2018/01/16 PHP
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
Javascript Worker子线程代码实例
2020/02/20 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
Python中的并发编程实例
2014/07/07 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python 操作MySQL详解及实例
2017/04/30 Python
python3.5绘制随机漫步图
2018/08/27 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
使用python将excel数据导入数据库过程详解
2019/08/27 Python
大专生自我鉴定范文
2013/10/01 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
2014三年级班主任工作总结
2014/12/05 职场文书
酒店前台辞职书
2015/02/26 职场文书
党员转正意见怎么写
2015/06/03 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python