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