如何附加自定义文本以通过Typescript编译器生成d.ts文件?

时间:2018-12-19 01:33:00

标签: typescript typescript-typings

我试图通过TypeScript创建一个与ES5浏览器和NodeJs模块兼容的javascript模块。所以我不想在TypeScrtipt中使用导入和导出,因为它使输出取决于SystemJS或RequireJS或commonJs。我刚刚创建了一个带有名称空间的库,并添加以下代码以使其与SystemJs兼容:

// global html object (pure javascript compatiblity)
if (typeof window !="undefined") (<any>window).myNamespace = myNamespace;

// create exports
declare var module:any;
if (typeof module !="undefined") module.exports = {myNamespace};

一切正常,我只需要添加以下代码,即可在NodeJS模块中使用该库并获得适当的键入信息

export {myNamespace}

所以我可以像这样在NodeJs lib中使用我的库:

import {myNamespace} from "../lib/myNamespace.js";

但是我找不到如何告诉TypeScript编译器添加导出而不用自己的方式创建模块的方法。每次编译后,如何自动在生成的d.ts的末尾自动添加几行,例如:

Generated typing ..
...
...

// Custom declaration
// Remark Remark
export {myNamespace}
// Remark Remark

**注意:**调制没有任何内容,很多事情都是自定义的,我不能使用打字稿调制的常规导出功能。

1 个答案:

答案 0 :(得分:0)

  

如何直接在生成的d.ts的末尾添加几行

没有TypeScript选项可以神奇地使某些代码仅在生成.d.ts中不存在时才出现在生成.ts中。

选项

添加构建管道,例如gulp / grunt,并在生成.d.ts后使用其完成事件标记更多内容。

我个人建议重新考虑为什么需要这样做。

相关问题