先最簡單的代碼html
安裝 npm install expressnode
app.js 代碼內容git
const express = require('express') const app = express() //單項流動 const mid1 = () => (req, res, next) => { res.body = '請求1<br/>' next() } const mid2 = () => (req, res, next) => { res.body += '請求2<br/>' next() } app.use(mid1()) app.use(mid2()) app.get('/', (req,res,next) => { res.send(res.body +'業務處理中') }) app.listen(2334)
打開 localhost:2334端口能夠看到 github
在上一個豐富點的代碼,包含 swig模版引擎,靜態資源加載,mongoose使用mongodb
var express = require('express'); //引入express var swig = require('swig'); //引入swig模版引擎 同類的還有ejs bug var mongoose = require('mongoose'); // 引入數據庫 mongoose 需預先安裝數據庫 //加載 bodeyparser var bodyParser = require('body-parser'); // 引入 body-parser 中間鍵 var Cookies = require('cookies'); // 引入cookies var app =express(); // 實例化 express var User = require('./models/User'); //設置靜態文件託管 app.use('/public',express.static(__dirname + '/public')); // app.use 加載中間鍵 //加載模板模塊 app.engine('html',swig.renderFile) //設置模板目錄第一個參數固定 app.set('views','./views'); // 註冊全部使用模板引擎 第一個參數必須是view engine app.set('view engine','html'); swig.setDefaults({cache: false}); // 默認緩存靜態頁面 false方便調試 app.use(bodyParser.urlencoded({extended: true})); app.use(function(req,res,next){ req.cookies = new Cookies(req,res); //解析登陸用戶的cookie信息 req.userInfo ={}; if(req.cookies.get('userInfo')){ try{ req.userInfo = JSON.parse(req.cookies.get('userInfo')); //獲取當前登陸用戶類型 操做數據方法 User.findById(req.userInfo._id).then(function(userInfo){ req.userInfo.isAdmin = Boolean(userInfo.isAdmin); next(); //next() 指引前往下一步 }) }catch(e){ next(); } }else{ next(); } }); //劃分路由到不一樣的文件夾 app.use('/admin',require('./routers/admin')); app.use('/api',require('./routers/api')); app.use('/',require('./routers/main')); // MONGOOSE 連接數據庫 mongoose.connect('mongodb://localhost:27017/test',function(err){ if(err){ console.log("數據庫連接失敗"); }else{ console.log("數據庫連接成功"); app.listen(8081); } });
我在上面代碼中作了詳細的注寫,還會詳細完善數據庫
github地址:https://github.com/xiaoyanbin/bolgexpress
一個完整的node.js +mongoose + express 實現的代碼 npm