繁体   English   中英

使用快速服务器制作注册表单和登录表单

[英]Making a signup form and login form using express server

所以我基本上是在我的本地主机上创建一个简单的网站,其中包含一个注册表单和一些其他 html 元素。 我设法顺利地设置了注册过程。 因此,当用户填写表单并将其提交到根路由(“/”)时,email 会发送给订阅者,其中包含使用 nodemailer 的随机密码,然后该密码将用于登录用户仪表板。 整个数据作为我设置的 mongodb 文档提交。 至此,过程顺利进行,当用户注册时,邮件被发送到订阅者的 email id,然后他们被重定向到登录页面。 所以现在我对设置服务器感到困惑。

    // index.js file
    
    const express = require("express");

    const app = express();
    const port = 5000;

    const mainApp = require("./main.js");
    const loginApp = require("./login.js");

    app
      .use(function (req, res, next) {
        if (req.hostname == "http://localhost:5000") {
          mainApp(req, res, next);
          console.log("main");
        } else if (req.hostname == "http://localhost:5000/login") {
          loginApp(req, res, next);
          console.log("login");
        }
      })
    .listen(port, () => console.log(`App listening on port: ${port}`));

我不明白如何导入整个main.js模块(注册表单存在的根路由,并且表单数据也发布到根路由)和login.js模块('/login' 路由登录表单所在的位置。

如何让index.js在同一个端口上运行两个模块?

您有两种选择来实现您的需求:

  1. 使用app.METHOD(PATH, HANDLER) 阅读更多ExpressJs 路由基础

    // index.js 文件

    const express = require("express"); const app = express(); const port = 5000; const mainApp = require("./main.js"); const loginApp = require("./login.js"); // route for / app.get("/", function(req,res, next) { mainApp(req, res, next); console.log("main"); }); // route for /login app.get("/", function(req,res, next) { loginApp(req, res, next); console.log("login"); }); app.listen(port, () => console.log(`App listening on port: ${port}`));
  1. 使用express.Router 这可以将路由逻辑分解为模块。 使用此选项处理模块Main.jslogin.js中的路由

    // main-router.js var express = require('express') var router = express.Router() const mainApp = require("./main.js");

     // handler for / router.get('/', function (req, res) { mainApp(req, res, next); console.log("main"); }); module.exports = router

index.js中导入模块

const express = require("express");

const app = express();
const port = 5000;

const mainRouter = require("./main-router.js");
const loginApp = require("./login.js");

// route for /

app.get("/", mainRouter);

//  route for /login
app.get("/", function(req,res, next) {
  loginApp(req, res, next);
  console.log("login");
});

app.listen(port, () => console.log(`App listening on port: ${port}`));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM