express

作者: 荒天帝886 | 来源:发表于2019-08-21 10:55 被阅读0次

一、安装express

npm install -g express-generator
项目结构

image.png
静态资源存放在public文件夹下

二、初始化项目

express my_app

三、新建route.js

let users = [
    {username: 'fzy', password: '0000', age: 23, gender: 'male'},
    {username: 'hql', password: '1111', age: 23, gender: 'male'},
    {username: 'zsq', password: '2222', age: 21, gender: 'male'},
    {username: 'peter', password: '3333', age: 23, gender: 'male'},
    {username: 'julie', password: '4444', age: 23, gender: 'female'},
];
module.exports = function (app) {
    //================users用户列表begin=================
    app.get('/users', (req, res) => {
        let params = req.query;
        let username = params['username'];
        console.log('username:', username);
        if (username === '') {
            res.send(users);
            return;
        }
        let userArr = [];
        for (let i = 0; i < users.length; i++) {
            if (users[i].username === username) {
                userArr.push(users[i])
            }
        }
        res.send(userArr);
    });
    app.get('/del', (req, res) => {
        let params = req.query;
        let username = params['username'];
        console.log(username);
        for (let i = 0; i < users.length; i++) {
            if (users[i].username === username) {
                users.splice(i, 1);
            }
        }
        res.send({code: 0, status: 'success', message: 'Removed successfully', data: ''});
    });
    //================users用户列表end=================
    //================新建用户begin=================
    app.post('/create', (req, res) => {
        console.log(req.body);
        users.push(req.body);
        res.send({code: 0, status: 'success', message: 'Created successfully', data: ''});
    });
    //================新建用户end=================
    //================修改用户begin=================
    app.post('/update', (req, res) => {
        let currentUser = req.body;
        for (let i = 0; i < users.length; i++) {
            console.log('currentUser.username: ' + currentUser.username);
            console.log('users[' + i + '].username: ' + users[i].username);
            console.log("index: " + i);
            if (currentUser.username === users[i].username) {
                users[i] = currentUser;
                break
            }
        }
        res.send({code: 0, status: 'success', message: 'Updated successfully', data: ''});
    });
    //================修改用户end=================
    app.get('/login', (req, res) => {
        let params = req.query;
        let username = params['username'];
        let password = params['password'];
        let flag = false;
        users.forEach(user => {
            if (user.username === username && user.password !== password) {
                flag = true;
                res.send('<h1 style="color: red;">密码不正确</h1>');
            } else if (user.username === username && user.password === password) {
                res.send('<h1 style="color: green;">登陆成功</h1>');
            }
        });
        if (!flag) {
            res.send('<h1 style="color: yellow;">此用户不存在</h1>');
        }
    });


    app.post('/login', (req, res) => {
        let username = req.body.username;
        let password = req.body.password;
        let flag = false;
        users.forEach(user => {
            if (user.username === username && user.password !== password) {
                flag = true;
                res.send({status: '0', msg: '密码不正确', data: ''});
            } else if (user.username === username && user.password === password) {
                res.send({status: '2', msg: '登陆成功', data: ''});
            }
        });
        if (!flag) {
            res.send({status: '0', msg: '此用户不存在', data: ''});
        }
        res.send({status: '2', msg: '登陆成功', data: ''});
    });
};

四、修改app.js

let createError = require('http-errors');
let express = require('express');
let path = require('path');
let cookieParser = require('cookie-parser');
let logger = require('morgan');
let routers = require('./route');
let app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
routers(app);

// catch 404 and forward to error handler
app.use(function (req, res, next) {
    next(createError(404));
});

// error handler
app.use(function (err, req, res, next) {
    // set locals, only providing error in development
    res.locals.message = err.message;
    res.locals.error = req.app.get('env') === 'development' ? err : {};

    // render the error page
    res.status(err.status || 500);
    res.render('error');
});

app.listen(3000);

相关文章

网友评论

      本文标题:express

      本文链接:https://www.haomeiwen.com/subject/lwcbsctx.html