Yes it is possible.
Combine the following compiler flags
--allowJs
Explicitly supports mixed JavaScript and TypeScript sources
--outDir
Since all files will be transferred, it is necessary to output the received JavaScript to another directory, otherwise the input files .jswill be overwritten 1 .
--checkJs
. , JavaScript, , TypeScript, .
, TypeScript JavaScript, .
TypeScript JavaScript , Visual Studio Code.
JSDoc 2. , .ts TypeScript (.ts/.tsx/.d.ts). IDE, Visual Studio Code, .
. JavaScript , , . TypeScript, .
:
a.ts
export default createThing;
function createThing(...args): createThing.Thing {...}
namespace createThing {
export interface Thing {...}
}
b.js
import createThing from './a';
export function takesThing(thing) {}
:
1: --outDir , --noEmit. , SystemJS ( plugin-typescript) Webpack ( awesome-typescript-loader ts-loader) TypeScript. , TS Node.
2: JSDoc, TypeScript, JSDoc. , TypeScript Google Closure Compiler, JSDoc . , , , .
:
- JavaScript, , .
, JSDoc, TypeScript, JSDoc . --allowJs --allowJs , .