首页 > 解决方案 > 为什么是 require('/routes')(app); 不等于在一个 app.js 文件中有相同的代码?

问题描述

以下代码行提供 localhost/join 页面。

路由.js 文件

module.exports = function (app){
        app.get("/join", function (req, res){
        res.render("join");
    });
};

app.js 文件

var express = require("express");
var app = express(); 
require('./routes')(app);
app.listen(3000, function(){
    console.log("Server started at localhost:3000. Ctrl+C to exit.");
});

加入.ejs 文件

<h1> You can sign up here </h1>

<input type="email" placeholder="email address"> </input>
<br>
<input type="password" placeholder="password"> </input>
<br>
<input type="submit"> </input>

然而,当我尝试创建一条app.post()路线(在 app.js 文件中有效)时,它给了我错误

应用未定义

为什么要给予app.post()而不给予app.get()?为什么require('/routes')(app);不等于在一个 app.js 文件中拥有相同的代码?

标签: node.jsmongoose

解决方案


您的 app.js 应如下所示:

var express = require('express')

var app = express()
require('./routes')(app);

app.listen(PORT-NUMBER)

如果是,那么了解您的 routes.js 与 app.post() 路由的外观将很有帮助。


推荐阅读