• nodejs + express + mangodb 项目搭建


    nodejs + express + mongodb 项目搭建

    1. mongodb 安装:https://www.cnblogs.com/1285026182YUAN/p/14092002.html

    2. 创建express项目:https://www.cnblogs.com/1285026182YUAN/p/14178465.html

    mongodb版本:4.4.2

    nodejs版本:15.2.0

    express版本:4.16.1

    3. 安装依赖模块 

    npm install mongodb --save
    npm install multer --save

    4. 项目中新建一个api文件夹

    a. 配置文件

      新建api/config文件夹,里面增加db.js文件

    module.exports.DB_URL="mongodb://root:123456@localhost:27017/IflyData";

    b. 控制器文件

      新建api/controller文件夹,里面增加一个public文件夹和一个common.js;

      public文件夹里面放可供前端调用的接口,而common.js里面放通用的配置,这里放了一个返回响应头格式的代码,

      再在public文件夹下面新建一个login.js文件。

    common.js文件
    'use strict'
    var multer = require('multer')
    var common = {
        sendJsonResponse: function(res,status,json) {
            res.header('Access-Control-Allow-Origin', '*');
            res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
            res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
            res.status(status);
            return res.json(json);
        },
        sendResponse: function(res,status,msg) {
            res.header('Access-Control-Allow-Origin', '*');
            res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild');
            res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
            res.status(status);
            return res.send(msg);
        }
    };
    module.exports = common;
    login.js文件
    'use strict';
    var mongoose = require('mongoose');
    var common = require('../common');
    var Login = mongoose.model('Login');
    module.exports.login = function (req, res) {
        var userName = req.userName;
        Login.find({ 'userName': userName }, function (err, data) {
            if (err) {
                common.sendJsonResponse(res, 500, err);
                return;
            }
            console.log(data);
            common.sendResponse(res, 200, data);
        })
    }
    5. 路由
      在routes文件夹中增加login.js文件
    var express = require('express');
    var router = express.Router();
    var db= require('../api/controller/public/login');
    
    /* GET home page. */
    router.get('/login', function (req, res, next) {
      db.login(
        function (response) {
          console.log(response);
          res.json(response);
        }
      );
    });
    
    module.exports = router;

    6. 路由引入

      修改app.js文件

    a. 增加路由文件引用

    var loginRouter = require('./routes/login');

    b. 使用路由

    app.use('/login', loginRouter);

    7. 启动程序

    npm start 

    如安装了 nodemon  也可直接输入 nodemon 来启动程序

  • 相关阅读:
    iptables作为路由转发至后端web服务器
    AWS EC磁盘扩容针对XFS
    MongoDB集群分片部署
    理解Java对象:要从内存布局及底层机制说起,话说….
    类和对象在JVM中是如何存储的,竟然有一半人回答不上来!
    SpringBoot项目中,如何更规范的使用PageHelper分页?
    面试被问,一千万个整数里面快速查找某个整数,你会怎么去做?
    Spock单元测试框架实战指南三-If esle 多分支场景测试
    IDEA激活码,2021年最新IDEA永久激活码无偿分享!
    MQ消息队列(应用场景,产品对比)
  • 原文地址:https://www.cnblogs.com/1285026182YUAN/p/14178603.html
Copyright © 2020-2023  润新知