nodejs 搭建简易服务器的图文教程(推荐)
www文件夹下
template文件夹下
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 搭建简易服务器的图文教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
详解使用nvm安装node.js
我最近在研究node.js的路上,那么今天也算个学习笔记吧!一、Windows系统1、node.js下载应用程序,压缩,安装http://www.gimoo.net/softs/504128.html2、nvm的安装路
深入探究node之Transform
本文详细的介绍了nodeTransform,分享给大家,希望此文章对各位有所帮助。Transform流特性在开发中直接接触Transform流的情况不是很多,往往是使用相对成
node+vue实现用户注册和头像上传的实例代码
最近正好空闲,写了个实用注册代码,分享给大家,有需要的朋友可以了解一下数据库我使用的是MongoDB。首先做文件上传,要保证协议里面的'Content-Type