TSC将节点cron模块导出为[“ default”],从而使schedule()未定义

时间:2020-08-10 08:46:52

标签: node.js typescript cron node-cron

不确定是节点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执行它没有问题。

0 个答案:

没有答案