Javascript Nodejs如何添加另一个主app.js并使用这两个主app.js使我的代码干净?

Javascript Nodejs如何添加另一个主app.js并使用这两个主app.js使我的代码干净?,javascript,node.js,express,authentication,Javascript,Node.js,Express,Authentication,您好,我正在使用nodejs和express framework,我将所有服务器端代码都写到app.js文件中,但这对我来说有点复杂,因为我有将近250行代码,我现在想实现身份验证,所以我想创建另一个app.js来只为auth编写代码,这样其他代码就不会让我感到困惑,我该怎么做那个 已更新 如上所述,我有两个来自我的app.js的post请求,我询问如何在auth.js文件中获取thoso请求,因为我了解exports import for static js字段,我想获取请求并将该信息保存到

您好,我正在使用nodejs和express framework,我将所有服务器端代码都写到app.js文件中,但这对我来说有点复杂,因为我有将近250行代码,我现在想实现身份验证,所以我想创建另一个app.js来只为auth编写代码,这样其他代码就不会让我感到困惑,我该怎么做那个

已更新


如上所述,我有两个来自我的app.js的post请求,我询问如何在auth.js文件中获取thoso请求,因为我了解exports import for static js字段,我想获取请求并将该信息保存到我的数据库中,我想将其保存在我的auth.js文件中,具体取决于您的设置,您可以按例如:

  • app.js
  • authentication.js
然后要求或将authentication.js文件中的函数导入app.js,如下所示:

从“express”导入express;
或者这个:

const express=require(“express”);
身份验证文件中的函数应按如下方式导出:

//需要这样导入:从“authenticate”导入{authenticate};
导出函数authenticate(){};
//需要按如下方式导入:从“authenticate”导入authenticate;
函数authenticate(){};
导出默认验证;
或者这个:

//需要这样导入:const authenticate=require(“authenticate”);
module.exports=函数authenticate(){};

请参见上面关于启用ES6导入的内容。这是因为导入时可以节省内存。

以下是从链接上的“我的项目”派生的项目的简化结构

routes.js

创建一个名为route.js的文件,在其中定义应用程序的所有路由。在这种情况下,路由将只是由UserController模块处理的寄存器和登录路由

从“express”导入{Router};
从“./UserController”导入UserController;
常量路由器=路由器();
转发器(
“/寄存器”,
UserController.register
);
转发器(
“/login”,
UserController.login
);
导出默认路由器;
UserController.js

此文件/类处理创建和登录用户的所有操作

如您所见,所有方法都没有路由url,因为它们直接从route.js文件调用。我们正在划分和构建您的应用程序

导出默认类UserController{
公共静态寄存器(req、res){
//寄存器操作
}
公共静态登录(req、res){
//登录操作
}
}
app.js

入口点和配置express应用程序的位置

从“express”导入express;
从“./routes”导入路由;
常量app=express();
//配置应用程序。。。
//在这里,我们将我们的路由url附加到express应用程序
应用程序使用(“/”,路由)

希望有帮助:)

将代码分成两个单独的文件。第一个(app.js)是应用程序的主/入口点,可以使用node app.js“启动”。第二个(例如auth.js)是所有身份验证系统的所在。记住br构建应用程序是必须的,一开始可能很难,但随着应用程序大小的增加,它会变得更有用。您可以在存储库中看到我的“结构”。记住,拥有长而复杂的文件并不好。有时候最好停下来对代码进行重构。谢谢你,我会听取你的建议:)请参阅nodeJs模块指南谢谢你提供的信息,但这不是我想要的,你能检查更新吗谢谢你提供的信息,但这不是我想要的,你能检查吗updates@BarışBabahan很抱歉,你的问题很简单不清楚,但这个示例可能会有所帮助:在这个示例中,他们使用express的路由器功能来拆分代码。