####安装node
安装应用生成器工具 express -可以快速创建一个应用的骨架。
$ npm install express-generator -g
检测:
$ express --version
创建一个项目:
$ express -e myapp
进入项目
$ cd myapp
安装依赖
$ npm install
启动项目
$ npm start
访问 http://localhost:3000/


ctrl+c 停止项目


####安装热更新
$ npm install -g supervisor
启动项目
$ supervisor bin/www


####begin
在routes目录下新建 login.js-作为登录请求的接口文件
在app.js中配置这个文件(添加如下两行)第九行引入这个login.js文件;第25行设置当请求地址为 “/login” 的时候路由到这个文件

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var loginRouter = require('./routes/login');	// 第九行

var app = express();

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

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')));

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/login', loginRouter);	// 第二十五行

// 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');
});

module.exports = app;

进入到login.js 开始编写代码

var router = express.Router();

/* POST login page. */
router.post('/', function(req, res, next) {
  //获取请求传递过来的数据
  var currentData = req.body;
  console.log(currentData);
  //模拟数据库查询判断,设置返回数据str
  if(currentData.username == "guan" && currentData.password == "0818"){
      var str = {"result":{"username": currentData.username ,"password": currentData.password },"code":1};
  } else{
      var str = {"result":{},"code":0};
  }
  res.writeHead(200,{"Content-Type":'text/plain','charset':'utf-8','Access-Control-Allow-Origin':'*','Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'});//可以解决跨域的请求
str = JSON.stringify(str);
  //打印要返回的数据str
  console.log("resData:  " + str);
  res.end(str);
});

module.exports = router;

然后我们编写一个前端html页面发起请求(这里使用写过的58login页面作为例子)

$('.loginbtn').on('click', function(){
  var username = $("#account").val();
  var password = $("#password").val();
  $.ajax({
    type:"post",
    url:"http://localhost:3000/login",
    data:{
      username:username,
      password:password
    },
    timeout:5000,
    success:function(data){
      data = JSON.parse(data);
      if(data.code === 1){
        alert("登陆成功")
      }else{
        alert("用户名密码错误")
      }
    },
    error:function(){
      alert("请求错误")
    }
  });
})

至此我们一个login的接口就写好了

#####注:1、本例是post请求,如果使用get请求,后台获取参数的方式应该使用 req.query (即直接把 req.body 替换成 req.query即可 其他一样)
#####2、本例是demo,在实际项目中,不要使用
#####‘Access-Control-Allow-Origin’:’*’
#####来解决跨域问题,同名同域下去掉这一条


觉得有帮助的小伙伴右上角点个赞~

node + express 登录简单实现Demo_demo

扫描上方二维码关注我的订阅号~