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和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
nodejs npm package.json中文文档
Sep 04 NodeJs
nodejs通过phantomjs实现下载网页
May 04 NodeJs
Nodejs中 npm常用命令详解
Jul 04 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
nodejs开发微信小程序实现密码加密
Jul 11 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
解决nodejs的npm命令无反应的问题
May 17 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
介绍几个array库的新函数 php
2006/12/29 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php静态文件生成类实例分析
2015/01/03 PHP
php 使用curl模拟登录人人(校内)网的简单实例
2016/06/06 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
JS实现分页导航效果
2020/02/19 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
王纯业的Python学习笔记 下载
2007/02/10 Python
python解析json实例方法
2013/11/19 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
python正则表达式之对号入座篇
2018/07/24 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Python Django view 两种return的实现方式
2020/03/16 Python
使用CSS3实现input多选框自定义样式的方法示例
2019/07/19 HTML / CSS
html5用video标签流式加载的实现
2020/05/20 HTML / CSS
求职自荐信格式
2013/12/04 职场文书
学习党章思想汇报
2014/01/07 职场文书
2014年中班元旦活动方案
2014/02/14 职场文书
购房意向书
2014/04/01 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android
Go语言编译原理之源码调试
2022/08/05 Golang