使其他节点模块可以访问变量
Making variable accessible to other node modules
我有一个节点脚本,它也可以兼作快速服务器。它的目的是 运行 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')
server.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 使用,以便我可以检查其状态,但我真的不确定如何去做。如果我把它放在它自己的模块中并将它导入到索引中以启动任务,然后在路由中再次导入它以检查它的状态,我将有两个不同的任务实例,它们都是 运行ning,这不是我想要完成的。
只是 export
和 import
:
task.js
export let task = cron.schedule('* * * * *', () =>{
task.lastruntime = new Date();
....
})
route.js 和 index.js
import { task } from './task.js';
我有一个节点脚本,它也可以兼作快速服务器。它的目的是 运行 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')
server.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 使用,以便我可以检查其状态,但我真的不确定如何去做。如果我把它放在它自己的模块中并将它导入到索引中以启动任务,然后在路由中再次导入它以检查它的状态,我将有两个不同的任务实例,它们都是 运行ning,这不是我想要完成的。
只是 export
和 import
:
task.js
export let task = cron.schedule('* * * * *', () =>{
task.lastruntime = new Date();
....
})
route.js 和 index.js
import { task } from './task.js';