Classic case of "work on something for a while with no success, but when you finally post a question asking for help, you figure it out immediately".
The solution:
When you want to use one of the types, you have to import the module as the typedef is in a named module within the typedef.
In the above code (that resided in my app.ts), I was getting the type annotations on app. Because my import statement at the top of the file was import express = require('express');
, I could annotate the req & res params like this:
app.get('/', function(req:express.Request, res:express.Response){});
In other files, where I was trying to get type annotations on the app, I was missing the import statement at the top of the file. Once added, I could add the annotations for that as well like:
public init(app: express.Application){}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…