电报博特是不是构造•打字稿
问题描述:
为什么我有这样的错误:TypeError: node_telegram_bot_api_1.default is not a constructor
电报博特是不是构造•打字稿
这是我在打字稿代码:
import * as dotenv from 'dotenv';
dotenv.config({ path: __dirname + '/.env'})
console.log('Hello TypeScript')
import TelegramBot from 'node-telegram-bot-api';
const bot = new TelegramBot(process.env.BOT_TOKEN, {polling: true});
,这是编译后,我的输出代码:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const dotenv = require("dotenv");
dotenv.config({ path: __dirname + '/.env' });
console.log('Hello TypeScript');
const node_telegram_bot_api_1 = require("node-telegram-bot-api");
const bot = new node_telegram_bot_api_1.default(process.env.BOT_TOKEN, { polling: true });
答
看来导入是不正确的。的node-telegram-bot-api
文档说,进口需做如下:
const TelegramBot = require('node-telegram-bot-api');
这意味着整个模块导入,这转化为ES6进口如下:
import * as TelegramBot from 'node-telegram-bot-api';
对于不同的语法和进口的语义请参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
+0
谢谢@ sayan-pal,已解决 –
+0
@SedricHeidarizarei很高兴帮助:) –
看起来问题是不正确的导入。你是否已经试过这个'import *'作为来自'node-telegram-bot-api'的TelegramBot;'? –