Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 使用transpileModule生成definitions.d.ts_Typescript - Fatal编程技术网

Typescript 使用transpileModule生成definitions.d.ts

Typescript 使用transpileModule生成definitions.d.ts,typescript,Typescript,我正在使用TypeScript编译器API从ts生成js 我的ts代码是生成的,因此它没有保存在任何文件中,我正在使用transpileModule直接生成js,而无需保存临时ts文件 但是我希望可以选择在js文件附近生成声明。 我正在将声明和声明dir传递给编译器选项,但它什么也不做 export const defaultCompilerOptions: ts.CompilerOptions = { target: ts.ScriptTarget.Latest, module: t

我正在使用TypeScript编译器API从ts生成js

我的ts代码是生成的,因此它没有保存在任何文件中,我正在使用
transpileModule
直接生成js,而无需保存临时ts文件

但是我希望可以选择在js文件附近生成
声明
。 我正在将
声明
声明dir
传递给编译器选项,但它什么也不做

export const defaultCompilerOptions: ts.CompilerOptions = {
  target: ts.ScriptTarget.Latest,
  module: ts.ModuleKind.ES2015,
  lib: ['es2015'],
  strict: true,
  declaration: true,
  declarationDir: '/tmp/xpto',
};
const gen = ts.transpileModule(tsCode, { compilerOptions, fileName, reportDiagnostics: true });

您不能使用
transpileModule
生成声明文件,因为此函数仅执行语法转换(而声明文件需要语义信息)。您需要使用页面顶部显示的常规
createProgram
功能。

因此我需要将文件保存到临时ts文件中,然后运行
createProgram
进行生成?我们试图避免写文件,但如果必须这样做,没问题