欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

node.js,express入门看详细篇

程序员文章站 2022-07-26 14:33:54
先最简单的代码 安装 npm install express app.js 代码内容 打开 localhost:2334端口可以看到 在上一个丰富点的代码,包含 swig模版引擎,静态资源加载,mongoose使用 我在上面代码中做了详细的注写,还会详细完善 github地址:https://git ......

先最简单的代码

安装 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(2334)

 

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

 

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

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

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