nodejs 搭建簡易服務(wù)器的圖文教程(推薦)
更新時間:2017年07月18日 08:35:14 投稿:jingxian
下面小編就為大家?guī)硪黄猲odejs 搭建簡易服務(wù)器的圖文教程(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
www文件夾下
template文件夾下
server.js代碼:
const express=require('express'); const static=require('express-static'); //托管靜態(tài)文件 const cookieParser=require('cookie-parser'); //解析cookie const cookieSession=require('cookie-session'); //解析session const bodyParser=require('body-parser'); //解析post數(shù)據(jù) 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數(shù)據(jù) 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數(shù)據(jù) 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 搭建簡易服務(wù)器的圖文教程(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Node.js查詢MySQL并返回結(jié)果集給客戶端的全過程
nodejs最大的優(yōu)勢也是大家用著最為難以理解的一點,就是它的異步功能,它幾乎所有的io操作都是異步的,這也就導(dǎo)致很多人不理解也用不習(xí)慣,下面這篇文章主要給大家介紹了關(guān)于Node.js查詢MySQL并返回結(jié)果集給客戶端的相關(guān)資料,需要的朋友可以參考下2022-12-12Nodejs+express+html5 實現(xiàn)拖拽上傳
文件上傳是一個比較常見的功能,傳統(tǒng)的選擇方式的上傳比較麻煩,需要先點擊上傳按鈕,然后再找到文件的路徑,然后上傳。給用戶體驗帶來很大問題。html5開始支持拖拽上傳的需要的api。nodejs也是一個最近越來越流行的技術(shù),這也是自己第一次接觸nodejs。2014-08-08nodejs實現(xiàn)發(fā)出蜂鳴聲音(系統(tǒng)報警聲)的方法
這篇文章主要介紹了nodejs實現(xiàn)發(fā)出蜂鳴聲音(系統(tǒng)報警聲)的方法,結(jié)合實例形式分析了nodejs發(fā)出蜂鳴聲的原理及具體應(yīng)用方法,需要的朋友可以參考下2017-01-01nodejs版本過高導(dǎo)致vue2版本的項目無法正常啟動的解決方案
這篇文章主要給大家介紹了關(guān)于nodejs版本過高導(dǎo)致vue2版本的項目無法正常啟動的解決方案,本文小編給大家詳細(xì)介紹了如何解決這個問題,如有遇到同樣問題的朋友可以參考下2023-11-11