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打包工具整合到鼠标右键的方法
May 11 NodeJs
跟我学Nodejs(一)--- Node.js简介及安装开发环境
May 20 NodeJs
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
Sep 26 NodeJs
nodejs通过phantomjs实现下载网页
May 04 NodeJs
nodejs 搭建简易服务器的图文教程(推荐)
Jul 18 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 NodeJs
Nodejs技巧之Exceljs表格操作用法示例
Nov 06 NodeJs
Nodejs 微信小程序消息推送的实现
Jan 20 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
Javascript学习指南
2014/12/01 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
python类参数self使用示例
2014/02/17 Python
Python虚拟环境项目实例
2017/11/20 Python
Python语言描述最大连续子序列和
2017/12/05 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Python实现迭代时使用索引的方法示例
2018/06/05 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
pandas分批读取大数据集教程
2020/06/06 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
精伦电子Java笔试题
2013/01/16 面试题
以下的初始化有什么区别
2013/12/16 面试题
师范教师毕业鉴定
2014/01/13 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
捐赠仪式主持词
2014/03/19 职场文书
服务行业演讲稿
2014/09/02 职场文书
银行转正自我鉴定
2014/09/29 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
公司表扬稿范文
2015/05/05 职场文书
大学生实习证明
2015/06/16 职场文书
Java基于字符界面的简易收银台
2021/06/26 Java/Android
Java中的继承、多态以及封装
2022/04/11 Java/Android