Создание переменной доступной для других узловых модулей - PullRequest
0 голосов
/ 03 мая 2019

У меня есть скрипт узла, который также выполняет роль экспресс-сервера.Он предназначен для запуска заданий 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!"));

и routs.js

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

module.exports = router;

Я хотел бы сделать task из index.js доступным для route.js, чтобы яМожно проверить его статус, но я действительно не знаю, как это сделать.Если бы я поместил его в его собственный модуль и импортировал в индекс, чтобы запустить задачу, а затем снова импортировал ее в маршруты, чтобы проверить ее состояние, у меня было бы два разных экземпляра задачи, которые оба выполнялись бы, но это не то, что яхочу выполнить.

1 Ответ

1 голос
/ 03 мая 2019

Просто export и import:

task.js

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

route.js и index.js

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