路由

  1. 引言

在学习这个模块之前,我们的路由代码都和服务器写在一个模块里面,这样写在代码量少的时候不会有大的问题,当代码的量很多的时候,就会不便于阅读和维护,在多人开发的时候也会有很大的问题。

所以我们需要将路由模块化。

  1. 模块化前

如果我们的功能主要有登录,商品管理,那么主要的模块就是登录和商品。

我们先按之前的方法完成这两个模块中的部分路由的实现。

const express = require ('express');
const app = express();
app.get('/user/login' , (req , res) =>{
    res.send('假装这是个登录页面');
});
app.get('/user/reg' , (req , res) => {
    res.send('假装这是个注册页面');
});
app.get('/user/getpwd' , (req , res) => {
    res.send('再假装一下');
});
app.get('/product/add' , (req , res) => {
    res.send('添加商品');
});
app.get('/product/del' , (req , res) => {
    res.send('删除商品');
});
app.listen(3001 , () =>{
    console.log('this is sever');
});

在日常开发中,每个路由都会有大量的逻辑处理代码,这几个接口的代码已经稍微有点乱了,在完整的项目中会有各个模块的增删改查,如果不分开,我们服务器的代码很容易达到1W行,也不好维护,因此我们使用模块化进行书写。

  1. 模块化

创建两个js文件做为模块,user.js和product.js

  • 服务器模块代码
    const express = require ('express');
    const app = express();
    let userRouter = require ('./user');
    let productRouter = require ('./product');
    app.use('/food' , productRouter);
    app.use('/user' , userRouter);
    app.listen(3001 , () =>{
        console.log('this is sever');
    });
  • user模块代码
    const express = require ('express');
    const router = express.Router();
    
    router.get('/login' , (req , res) => {
        res.send('登录呀');
    });
    
    router.get('/reg' , (req , res) => {
        res.send('注册呀');
    });
    
    router.get('/get' , (req , res) => {
        res.send('找回密码呀');
    });
    
    module.exports = router;
  • product模块代码
    const express = require ('express');
    const router = express.Router();
    
    router.get('/add' , (req , res) => {
        res.send('添加商品');
    });
    
    router.get('/up' , (req , res) => {
        res.send('修改商品');
    });
    
    router.get('/dell' , (req , res) => {
        res.send('删除商品');
    });
    
    module.exports = router;

邮件发送

  1. 引言

在很多项目中,我们都会遇到邮件注册,邮件反馈等需求。在node中收发电子邮件也非常简单,因为强大的社区有各种各样的包可以供我么直接使用。Nodemailer包就可以帮助我们快速实现发送邮件的功能。

  1. nodemailer

这是一个第三方模块,通过这个模块我们可以实现邮件发送

  1. 安装

不言而喻,npm install nodemailer

下载以后,我们可以进入官网查看文档

  1. 使用

const nodemailer = require("nodemailer");
// 创建发送邮件的对象
    let transporter = nodemailer.createTransport({
        host: "smtp.qq.com",   // 发送方用的邮箱
        port: 465,                     // 端口号
        secure: true, // true for 465, false for other ports
        auth: {
            user: 'www.qishengcheng@qq.com', // 发送方的邮箱地址
            pass: 'wjbbrgmiovdibaie'  //  mpt 验证码
        }
    });
    // 邮件信息
    let mailObj ={
Last modification:January 21st, 2020 at 09:35 am
来杯coffee吧