Как получить node.js тип импорта

#node.js #typescript #express

#node.js #typescript #экспресс

Вопрос:

При использовании node.js с помощью express вы начинаете свой код со следующего —

 import express = require('express')
const app = express()
  

теперь, если я хочу передать переменную app в качестве параметра при использовании typescript, с каким типом ее следует связать?

Я выполнил эту команду —

  npm install --save-dev @types/express
  

Итак, я предполагаю, что у меня есть типы локально, но я не уверен, как импортировать его в свой файл и полагаться на него. Любая помощь?

Ответ №1:

Вы можете импортировать express в typescript, выполнив

 import express from 'express';

const app = express();
  

Теперь, если вы хотите задать тип app , вам нужно импортировать именованный экспорт из express, что можно сделать с помощью

 import express, { Express } from 'express';

let app: Express;
app = express();
  

Также для правильной работы убедитесь, что ваш tsconfig.json внешний вид выглядит примерно так

 {
  "compilerOptions": {
    "lib": ["es5", "es6"],
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "outDir": "./build",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "esModuleInterop": true,
    "sourceMap": true
  }
}

  

Ответ №2:

Нашел его, просмотрев этот пример кода учебника — https://github.com/mwanago/express-typescript/blob/master/src/app.ts

Ответ — использовать express.Application в качестве типа