Я пытаюсь переместить свое приложение NodeJs с Java Script на TypeScript, чтобы воспользоваться некоторыми преимуществами avail. Но при этом я терплю неудачу в самых простых приемах.
У меня есть этот простой код ниже в моем файле index.ts. Я хочу импортировать экспресс, а затем запустить базовый прослушиватель порта из файла конфигурации.
import {express} from 'express';
import {config} from './config/config';
const app = express();
const http = require('http');
const secure = http.createServer(app).listen(config.port ,()=>{
console.info(`listening on Port ${config.port}`)
})
когда я запускаю "npm run-script build", я получаю следующий результат
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = require("express");
const config_1 = require("./config/config");
const app = express_1.express();
const http = require('http');
var secure = http.createServer(app).listen(config_1.config.port, () => {
console.info(`listening on Port ${config_1.config.port}`);
});
почему он использует префикс express и config с _1? Экспресс_1.express вроде тормозит. Надеюсь, кто-нибудь может сказать мне, почему и как избегать в будущем.
Javascript обычно перед запуском переносится различными инструментами сборки, которые делают всевозможные вещи, например объединяют несколько файлов в один файл, меняют имена переменных / функций, минимизируют код и т. д. Какую фактическую ошибку вы получаете и где в коде источник это происходит?
В моем случае это создает ошибку не при создании, а при попытке запустить JS-код. Я получаю следующую ошибку: const app = express_1.express (); TypeError: express_1.express не является функцией
Если я изменю свои строки на const express = require ("express"); const app = express (); все работает как положено ..



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, что экспресс-модуль - это не именованный экспорт, это экспорт по умолчанию. для этого вы должны импортировать, как показано ниже, чтобы он работал.
import express from 'express';
У вас есть конкретная ошибка? Typescript изменит имена переменных по нескольким причинам. Однако на самом деле у вас нет контроля над этим.