Как импортировать модуль nodejs в typescript?
Хочу импортировать модуль claster.
Код:
import cluster from 'cluster';
console.log(cluster);
debugger;
Пытаюсь получить его свойство... Не работает. Это и есть суть проблемы.
cluster.isMaster
Запускаю дебаггер, отключаю sourcemap.
И вижу такую картину - все методы / свойства лежат в объекте cluster_1. А в console.log стоит cluster_1.default. Свойства default там (cluster_1) вообще нет.
Как решить?
Update 1:
tsconfig:
{
"compilerOptions": {
"module": "commonjs",
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": false,
"outDir": "./dist/application",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false,
"alwaysStrict": true,
"noUnusedLocals": true,
"noImplicitAny": true,
"noImplicitThis": true,
"noImplicitReturns": true,
"strictNullChecks": true,
"noUnusedParameters": false,
"strictFunctionTypes": true,
"strictPropertyInitialization": true,
"declaration": false,
"allowUnreachableCode": false,
"allowUnusedLabels": false
}
}
Ответы (1 шт):
Предположу что Вы пишите на Node Ответом на Ваш вопрос будет эта статья: https://habr.com/ru/post/477168/
Собственно в основном файле Вы хотите использовать ES6 import. Для этого надо либо : включить в tsconfig type: "module"
Либо дать Вашему файлу расширение mjs, claster должен воспириниматься как common js - но на всякий случай можно дать ему расширение cjs