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中操作mysql数据库示例
Dec 20 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
NodeJS实现微信公众号关注后自动回复功能
May 31 NodeJs
深入理解Nodejs Global 模块
Jun 03 NodeJs
nodejs构建本地web测试服务器 如何解决访问静态资源问题
Jul 14 NodeJs
nodejs初始化init的示例代码
Oct 10 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
May 30 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 NodeJs
nodeJS与MySQL实现分页数据以及倒序数据
Jun 05 NodeJs
NodeJs内存占用过高的排查实战记录
May 10 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
2010/12/28 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
在vue项目中使用md5加密的方法
2018/09/14 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
跟老齐学Python之复习if语句
2014/10/02 Python
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
J2EE模式面试题
2016/10/11 面试题
实习教师自我鉴定
2013/12/09 职场文书
高级编程求职信模板
2014/02/16 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
员工福利申请报告
2015/05/15 职场文书
酒店温馨提示语
2015/07/14 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers