不确定是节点cron还是tsc转换代码的方式出现问题。
问题是,当您尝试使用node-cron导出ts文件时,TSC会进行转换:
import express = require('express');
import cron from 'node-cron'
const app = express();
cron.schedule('* * * * *', () => {
console.log('Running a task every minute');
});
app.listen(3123);
对此:
"use strict";
exports.__esModule = true;
var express = require("express");
var node_cron_1 = require("node-cron");
var app = express();
node_cron_1["default"].schedule('* * * * *', function () {
console.log('Running a task every minute');
});
app.listen(3123);
尝试执行代码时引发下一个错误:
/home/xxx/cronjobs/index.js:7 node_cron_1 [“ default”]。schedule('* * * * *',function(){ ^ TypeError:无法读取未定义的属性“计划” 在对象。 (/home/xxx/cronjobs/index.js:7:24)
如果删除[“ default”],它的效果很好。任何想法为什么会这样吗?
PD:ts-node执行它没有问题。