Telegram Bot 不是构造函数 • TypeScript
Telegram Bot is not a constructor • TypeScript
为什么我有这个错误:
TypeError: node_telegram_bot_api_1.default is not a constructor
这是我在 TypeScript 中的代码:
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
为什么我有这个错误:
TypeError: node_telegram_bot_api_1.default is not a constructor
这是我在 TypeScript 中的代码:
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