javascript - 使变量可供其他 Node 模块访问

标签 javascript node.js express node-cron

我有一个 Node 脚本,它也可以兼作 Express 服务器。它的目的是运行 cron 作业,但我希望能够通过向快速路由发出请求来查看上次运行作业的时间。

入口点index.js:

require('@babel/register')({

})
import cron from 'node-cron';
import { test } from 'Tasks';

let task = cron.schedule('* * * * *', () =>{
  task.lastruntime = new Date();
  ....
})

require('./server.js')

服务器.js

import express from 'express';
import bodyParser from 'body-parser';
import http from 'http';

const app = express();

let routes = require('./routes');
app.use(routes);

http.createServer(app).listen(7777, () => console.log("Listening on port 7777!"));

和routes.js

let router = require('express').Router();
router.get("/test", () => console.log('test'));

module.exports = router;

我想让index.js中的task可用于routes.js,以便我可以检查其状态,但我真的不知道如何去做。如果我将它放在它自己的模块中并将其导入到索引中以启动任务,然后在路由中再次导入它以检查其状态,我将有两个不同的任务实例都在运行,这不是我想要的想要完成。

最佳答案

只需导出导入:

任务.js

export let task = cron.schedule('* * * * *', () =>{
  task.lastruntime = new Date();
  ....
})

route.js 和index.js

import { task } from './task.js';

关于javascript - 使变量可供其他 Node 模块访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55973196/

相关文章:

javascript - Node.js如何实现多态?

node.js - 使用 node-webshot 捕获网页图像的一些问题

javascript - 如何设置表格中单选按钮选择的限制?

javascript - 如何更改 ionic ionic 导航 View

javascript - 我怎样才能得到一个构造函数的值给其他方法修改呢?

node.js - 将 Auth0 集成到 Node & Express 应用程序中

node.js - AWS lambda : module initialization error: TypeError

javascript - 如何从不同的 JS 文件访问 EJS 文件中的变量

javascript - 如何在laravel中使用javascript将html表格保存为excel文件格式

javascript - 解析 CSS 背景图像和选择器