电报博特是不是构造•打字稿

电报博特是不是构造•打字稿

问题描述:

为什么我有这样的错误:
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 }); 

Photo

+1

看起来问题是不正确的导入。你是否已经试过这个'import *'作为来自'node-telegram-bot-api'的TelegramBot;'? –

看来导入是不正确的。的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很高兴帮助:) –