从js文件生成.d.ts的过程
Procedure for generating .d.ts from js file
我正在尝试将我的JavaScript文件转换为TypeScript定义(.d.ts(。
我找不到自动执行此操作的工具,也找不到定义良好的将.js转换为.ts或.d.ts文件的过程。
请任何人分享获取.js文件的.d.ts文件的正确过程?
谢谢,
Saravanan
不幸的是,这仍然是一个手动过程。但是,您可以将.js
文件转换为TypeScript .ts
文件,然后TypeScript编译器可以使用-d
编译器标志为您生成.d.ts
。例如,以下将为您提供foo.d.ts
和foo.js
tsc -d foo.ts --out foo.js
你可以研究各种工具,但目前没有一种是100%的:https://github.com/borisyankov/DefinitelyTyped/issues/2103#issuecomment-41899391
尝试下面的代码。事实上,下面的代码并没有生成.d.ts文件,但它生成的树可以写.d.ts为您提供一个参考文件,它给出了大多数对象的类型属性和函数参数的数量
var Helper = (function () {
function Helper() {
}
Helper.MAX_DUMP_DEPTH = 10;
Helper.dumpObj = function (obj, name, indent, depth) {
if (depth > Helper.MAX_DUMP_DEPTH) {
return indent + name + typeof(obj) +": <Maximum Depth Reached>'n";
}
var pre = '';
pre = (name + '').substr(0, 1);
if (pre == '_' || pre == '-') {
return '';
}
if (typeof obj == "object") {
var child = null;
var output = indent + name + typeof(obj)+"'n";
indent += "'t";
for (var item in obj) {
pre = (item + '').substr(0, 1);
if (pre == '_' || pre == '-') {
continue;
}
var temp = obj[item] + '';
try {
child = obj[item];
}
catch (e) {
child = "<Unable to Evaluate>";
}
if (typeof child == "object") {
output += Helper.dumpObj(child, item, indent, depth + 1);
}
else {
output += indent + item + ": " + temp.substr(0, 1 + temp.indexOf(')'))+ typeof(child) + "'n";
}
}
return output;
}
else {
return obj;
}
};
return Helper;
})();
Helper.dumpObj(yourobj,"yourobj"," ",0)
相关文章:
- 为effect Composer创建GodRays效果过程
- 为什么使用AWS Signature v4对S3的REST调用并没有真正使用签名过程
- 从HTML文件中的TypeScript(.ts)获取值
- 侦听HTML呈现过程事件
- 应用程序开发过程
- 在提交过程中使用同步确认灯箱提交表格
- 在电子商务结账过程中显示特定于上下文的错误
- 使用index.ts文件导出类会导致注入的构造函数中未定义
- Grunt排除在生成过程中插入某些文件
- JavaScript:如何在迭代过程中修改数组中的值
- Worklight Client使用自定义BODY参数调用过程
- 在生产中使用类似Grunt的构建过程
- 如何检查是否存在“;没有到主机的路由”;在流式传输视频的过程中一遍又一遍
- node.js上的过程性2d数组mongoDB插入内存不足
- 在asp.net页面中显示javascript执行过程中的加载图标
- proxychains可以't加载过程
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- ng-show内容在页面加载过程中闪烁,尽管它不是真实的,并且ng-cloak不适用于FF
- AngularJS:TypeScript编译过程并吞噬uglify-是否有一种方法可以强制TS使用IIFE生成函数而不是
- 从js文件生成.d.ts的过程