Nodejs:在节点服务器启动时运行一个js文件

Nodejs: Run a js file on node server startup

本文关键字:一个 文件 js 运行 节点 服务器 启动 Nodejs      更新时间:2024-04-10

我有一些nodejs代码(调度程序和一些数据库查询),每次启动节点服务器时,我都想与应用程序的其余部分一起运行(Express应用程序)
我可以想到的一种方法是创建一个批处理文件,该文件将有两行:一行用于启动节点服务器,另一行用于运行节点js代码(不过还没有测试过这种方法)

我在想是否有一种方法可以通过server.js文件执行静态代码。我想在同一个实例中运行这个
这里有什么帮助吗?

您可以通过在server.js文件中添加require()函数来执行同一目录中的其他脚本:

var exportedThings = require("./path/to/file.js");

在file.js中,您可以为exports对象分配值,以将其导出到需要的脚本:

exports.add = function(first,second){
    return first + second;
}

现在,在server.js中,您将能够:

exportedThings.add(1, 5); // Outputs 6

您必须为调度程序和数据库查询创建两个模块,以便在任何节点启动时执行它们。在主文件中导入这些模块并初始化启动过程,如计划和数据库查询。

例如:主文件是Server.js

 var scheduler=require("/utils/schedular.js");
     scheduler.init();

现在你的scheduler.js文件应该如下:

 var schedular=function(){
var _self=this;
 _self.init=function(){
    console.log("init Schedular");
    var rule = new cron.RecurrenceRule();
    rule.second = 30;
    cron.scheduleJob(rule, function(){
          console.log(new Date(), 'The 30th second of the minute.');
            // write your logic

          });
    });
  }
 }
  module.exports=new scheduler();

与thins一样,您还创建了另一个文件来执行数据库查询。当您的主文件使用node或永远运行时,您的调度程序和数据库查询也将执行