I am trying to set up a TypeScript express/node application in Visual Studio Code following the Microsoft guide but changing it to use TypeScript however when it comes to installing the type definitions using typings
I seem to have to install more packages than the guide.
I'm running the following pair of commands:
typings install node --ambient --save typings install express --ambient --save
However attempting to build with just those packages gives the following type of error:
error TS2307: Cannot find module 'serve-static'.
For the following typings:
I can resolve this by installing the required typings but it seems like something typings should do by itself.
I wanted to check if I was missing a fundamental step to automatically pull in dependencies or whether the guide was outdated?
In case it's relevant, my tsconfig.json:
{ "compilerOptions": { "target": "es5", "module": "commonjs", "sourceMap": true, "outDir": "bin", "sourceRoot": "src" }, "exclude": [ "node_modules", "typings/browser.d.ts", "typings/browser" ] }
My tsc is version 1.8.7 and I have typescript installed globally.
As of the release of TypeScript 2.0 last month, the recommended tool for installing typings is our trusty old friend npm
instead of typings
or tsd
.
npm install @types/node --save
With npm, there's no need to worry about "global" or "ambient" installations anymore.
You also don't need to worry about adding <reference>
tags to the top of your source files anymore; just drop the following property into your compilerOptions
in tsconfig.json
, and the TypeScript compiler will automatically find the npm typings you've installed:
"typeRoots": [ "node_modules/@types" ]
Here's a blog post that explains the change in some more detail: https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/
The tutorial I linked has now been updated to include the following commands:
typings install node --ambient typings install express serve-static express-serve-static-core --ambient
See @cdbajorin 's comment for information about why dependencies are not automatically downloaded.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With