node.js,express入门看详细篇

废话不废 2018-05-11

先最简单的代码

安装 npm install express

app.js 代码内容

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()

打开 localhost:2334端口可以看到

在上一个丰富点的代码,包含swig模版引擎,静态资源加载,mongoose使用

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();   
     }
});

我在上面代码中做了详细的注写,还会详细完善

github地址:https://github.com/xiaoyanbin/bolg

一个完整的node.js +mongoose + express 实现的代码

相关推荐