node.js,express入門看詳細篇

先最簡單的代碼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

相關文章
相關標籤/搜索