radist2s
@radist2s
Back-end и front-end разработчик

Как заставить TypeScript правильно импортировать модули CommonJS для Node.js?

На TypeScript делаю импорт:
import io from 'socket.io'

const socket = io('http://localhost')


Трансплайтер делает из этого:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const socket_io_1 = require("socket.io");
const socket = socket_io_1.default('wss://pushstream.tradingview.com/message-pipe-ws/public');


Как можно заметить, идет обращение к socket_io_1.default, значения default там просто не существует.

Как использовать модули ноды для TypeScript?

tsconfig.json:
{
  "compilerOptions": {
    "target": "es5",
    "module": "CommonJS",
    "moduleResolution": "node",
    "sourceMap": true,
    "allowJs": true,
    "isolatedModules": true,
    "declaration": false,
    "lib": [
      "ES5"
    ]
  }
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
radist2s
@radist2s Автор вопроса
Back-end и front-end разработчик
Решение очевидное и простое:
import * as io from 'socket.io'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы