我正在尝试将JavaScript文件转换为TypeScript definition (.d.ts)。
我找不到自动执行此操作的工具,也找不到定义良好的将.js转换为.ts或.d.ts文件的过程。
谁能分享一下为.js文件获取.d.ts文件的正确步骤?
谢谢,
萨拉瓦南
发布于 2014-04-30 11:53:25
不幸的是,这仍然是一个手动过程。但是,您可以将.js文件转换为TypeScript .ts文件,然后typescript编译器可以使用.d.ts编译器标志为您生成-d。例如,以下代码将为您提供一个foo.d.ts和一个foo.js
tsc -d foo.ts --out foo.js您可以研究各种工具,但目前没有一个是100%的:https://github.com/borisyankov/DefinitelyTyped/issues/2103#issuecomment-41899391
发布于 2015-03-17 16:46:14
尝试下面的代码。事实上,下面的代码并没有生成.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)https://stackoverflow.com/questions/23379198
复制相似问题