Использование Express () с машинописью

голоса
4

Я хочу использовать самую последнюю версию Expess с Node.js в машинопись. В express.d.ts, предоставляемый Microsoft в образцах, как представляется, построен на версии до 3.0.x. В предыдущей версии вы могли бы сделать

var app = express.createServer()

но после того, как 3.0.x вы должны сделать:

var app = express();

Express.d.ts не поддерживает это ... Я нашел хак вокруг этого: я добавил следующую строку в Express.d.ts:

export function(): any;

В , app.tsкогда я хочу , чтобы создать объект приложения я сделать следующее:

var app = <express.ExpressServer>express();

Это, кажется, чтобы исправить эту проблему, она компилируется без ошибок, а также я получаю Intellisense поддержки. Однако это хак ... Прежде всего, почему я не могу написать что-то вроде этого?

export function(): ExpressServer;

Это рекомендуемый способ решить эту проблему?

Задан 03/10/2012 в 14:56
источник пользователем
На других языках...                            


4 ответов

голоса
7

Довольно старая дискуссия, но я столкнулся с той же проблемой недавно и обнаружил , что есть новое , express.d.tsчто должным образом поддерживает экспресс 3 на DefinitelyTyped сайте.

Ответил 14/08/2013 в 03:42
источник пользователем

голоса
2

Вы должны быть в состоянии добавить эту функцию окружающей декларации , express.d.tsчтобы получить то , что вы хотите.

declare function express(): ExpressServer;

Ответил 03/10/2012 в 15:09
источник пользователем

голоса
0

если вы объявите expressэтот путь: import * as express from "express"вы получите эту ошибку во время выполнения, объявив это следующим образом: const express = require "express"не будет бросать какие - либо ошибки.

Кроме того , не забудьте объявить appпеременную или свойство типа , какexpress.Application

Ответил 01/05/2019 в 14:32
источник пользователем

голоса
-1

Вот пример проекта - Экспресс - приложение 4.x в машинописном: https://github.com/czechboy0/Express-4x-Typescript-Sample

Ответил 22/03/2015 в 18:12
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more