Importación de nodo y express con typings en TypeScript

Estoy tratando de configurar una aplicación TypeScript Express / node en Visual Studio Code siguiendo la guía de Microsoft, pero cambiándola para usar TypeScript. Sin embargo, cuando se trata de instalar las definiciones de tipo usando typings , parece que tengo que instalar más paquetes que la guía.

Estoy ejecutando el siguiente par de comandos:

 typings install node --ambient --save typings install express --ambient --save 

Sin embargo, al intentar comstackr solo con esos paquetes se produce el siguiente tipo de error:

 error TS2307: Cannot find module 'serve-static'. 

Para las siguientes tipificaciones:

  • mímica
  • express-serve-static-core
  • servir-estático

Puedo resolver esto instalando las tipificaciones requeridas, pero parece que las tipificaciones deberían funcionar por sí mismas.

¿Quería comprobar si me estaba faltando un paso fundamental para extraer automáticamente las dependencias o si la guía estaba desactualizada?

En caso de que sea relevante, mi tsconfig.json:

 { "compilerOptions": { "target": "es5", "module": "commonjs", "sourceMap": true, "outDir": "bin", "sourceRoot": "src" }, "exclude": [ "node_modules", "typings/browser.d.ts", "typings/browser" ] } 

Mi tsc es la versión 1.8.7 y tengo typescript instalado globalmente.

A partir del lanzamiento de TypeScript 2.0 el mes pasado, la herramienta recomendada para instalar typings es nuestro antiguo amigo npm lugar de typings o tsd .

 npm install @types/node --save 

Con npm, ya no es necesario preocuparse por las instalaciones “globales” o “ambientales”.

Tampoco debe preocuparse por agregar tags a la parte superior de sus archivos de origen; simplemente suelte la siguiente propiedad en su compilerOptions en tsconfig.json , y el comstackdor de TypeScript encontrará automáticamente las tipificaciones de npm que haya instalado:

 "typeRoots": [ "node_modules/@types" ] 

Aquí hay una publicación de blog que explica el cambio con más detalle: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

El tutorial que vinculé ahora se ha actualizado para incluir los siguientes comandos:

 typings install node --ambient typings install express serve-static express-serve-static-core --ambient 

Consulte el comentario de @cdbajorin para obtener información sobre por qué las dependencias no se descargan automáticamente.

Para ahorrarle a todos un dolor de cabeza, el comando mágico para obtener las tipificaciones para el nodo ahora es:

typings install node --source env --global --save