2017-04-15 81 views
-1

爲什麼我有這樣的錯誤:
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;'? –

回答

1

看來導入是不正確的。的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很高興幫助:) –