参考一:

上次弄了一个as3转ts的工具,受到广大码农朋友的热烈欢迎~

在实际开发中,经常会遇到第三方的js库,没有d.ts脚本,自己写太麻烦。

于是想到能不能有个工具可以转换成d.ts来用用。

网上搜了一下,有几种方式可以做到,用npm的命令来转换。

npm i dtsmake -g
npm i tern --save-dev
dtsmake -s fileame.js
嗯,这样也是可以的,但是做为码农,最大的快乐莫过于自己造轮子。

享受这个建造的过程~   于是这个工具js2tsd他就出世了!!

主要的作用就是把javascript代码转成d.ts文件,供typescript项目使用了。

(这是我为它画的图标~)

我们来欣赏一下它的界面是什么样的,请看下面。

使用方法:把你要转换的js代码文件,直接拖放到工具界面上即可。当然也可以复制代码粘贴进行转换。

做个小小的转换测试,转换前的js代码如下:

var Test = function () {
    this.a = 1;
    this.b = 'a';
};
 
Test.prototype.fun1 = function (func) {
    return this.a;
};
 
Test.prototype.fun2 = function (func) {
    return this.b;
};
 
var ParentClass = function (a, b) {
    this.c = true;
};
 
ParentClass.prototype.func2 = function (test) {
    return "test";
};
 
var ChildClass = function () {
    this.d = true;
    var my = function () {
        ok;
    }
};
 
ChildClass.prototype = new ParentClass();
ChildClass.prototype.constructor = ChildClass.constructor;
 
ChildClass.prototype.func3 = function (funcB) {
    return this.d;
};
 
 
[
    new Test(),
    new ParentClass(),
    new ChildClass()
]
以下是转换后生成的d.ts文件代码如下:

declare class Test {
    a:number;
    b:string;
 
    constructor();
 
    fun1(func):number;
    fun2(func):string;
}
 
declare class ParentClass {
    c:boolean;
 
    constructor(a, b);
 
    func2(test):string;
}
 
declare class ChildClass extends ParentClass {
    d:boolean;
 
    constructor();
 
    func3(funcB):boolean;
}
看起来是不是非常完美? 不过js的写法多种多样,而且还很变态。

这个工具还很年轻,有些复杂的js写法可能还没有兼容,不过放心,我会一直保持更新的。

下载地址:(在csdn下载)

https://download.csdn.net/download/sjt223857130/10709380

--------------------- 
作者:sjt223857130 
来源:CSDN 
原文:https://blog.csdn.net/sjt223857130/article/details/82986548 
版权声明:本文为博主原创文章,转载请附上博文链接!

参考二:

近期在学习angularjs2的时候,遇到在typescript中引入第三方库的问题,需要tsd文件,

在TypeSearch中有的可以找到,有的则找不到,遇到找不到的又不想自己去写的,于是我就需要自动将通过js转换出tsd文件,

解决方案如下:

首先你得有node环境,其次进入终端,输入:npm i dtsmake -g,

然后有两种转换方式:

1.

dtsmake -s ./path/to/sourcefile.js

2.

dtsmake -s ./path/to/src/target.js --dist ./path/to/dist/mydefinition -n "mydefinition" -p node -e -S "legacy" -M "MyDefinition" -x "./path/to/extrafile1.js,./path/to/extrafile2.js" -N --def ./path/to/def/ecma6 -A -i -a -g
在组件中引用第三方库方法请移步->angularjs2学习心得之使用第三方JS库

参考地址:https://www.npmjs.com/package/dtsmake
--------------------- 
作者:爱死费崇政 
来源:CSDN 
原文:https://blog.csdn.net/fay462298322/article/details/53307553 
版权声明:本文为博主原创文章,转载请附上博文链接!

JS代码转换d.ts语法相关推荐

  1. 【TS语法|基础入门】《前端的未来——TypeScript》掌握TS基础语法

    前端的未来--TypeScript TS基础语法 文章简介 主要内容 1 第一个 TypeScript 程序 2 TypeScript 保留关键字 2.1 TypeScript保留关键字 2.2 空白 ...

  2. 前端:JS/17/前篇总结(JS程序的基本语法,变量),数据类型-变量的类型(数值型,字符型,布尔型,未定义型,空型),数据类型转换,typeof()判断数据类型,从字符串提取整数或浮点数的函数

    JS程序的基本语法 1,JS是区分大小写的,如:Name和name是不同的: 2,JS中每一条语句,一般以英文的分号(;)结束,在Java中是严格地一定要加上分号,不然会报错:但在JavaScript ...

  3. js 正则练习之语法高亮

    js 正则练习之语法高亮 原文:js 正则练习之语法高亮 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解. 今天就分析下 次碳酸钴 和 Barret ...

  4. Nextjs中ts语法中使用全局变量

    Nextjs中ts语法中使用全局变量 1.项目根目录增加文件cons.ts const globalAny: any = global;globalAny.Cons = {cndDomain: &qu ...

  5. ts语法基础——基础类型

    TS 语法 TS 基础类型 TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用 TS 支持的变量类型如下: 类型 描述 boolean 限制 ...

  6. TypeScript里的.d.ts语法

    在SAP Spartacus的实现里有很多.d.ts文件: https://www.typescriptlang.org/docs/handbook/declaration-files/templat ...

  7. JS控制CSS样式语法对照

    CSS与JS紧密配合,为我们的页面增添了很多别致的效果.为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属性. 例如常用的关闭某个漂浮的广告显示:document.g ...

  8. JS基础_JS基础语法

    文章目录 JS输出信息方式 JS编写位置 JS注释 JS基本语法 字面量与变量 字面量 变量 声明变量 标识符 基础数据类型 String 字符串 JS输出信息方式 <!-- JS代码需要编写在 ...

  9. 相当全的JS及.NET正则表达式语法

    正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描 述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模 ...

  10. js 系统教程-15-js 语法之命令行-console.log,console.info,console.error,console.warn,debugger

    目录 目录 console 对象与控制台 console console 对象的静态方法 格式占位符 console.warn(),console.error() console.table() co ...

最新文章

  1. 蹭了BCH热度,还来诋毁BCH,这些跳梁小丑到底在玩什么阴谋?
  2. poj1286(纯Polya定理)
  3. lightingJS
  4. UGUI的text赋值问题-速度
  5. jQuery修改alert ,confirm的样式
  6. nlp gpt论文_开放AI革命性的新NLP模型GPT-3
  7. html滑动验证图片,js插件实现图片滑动验证码
  8. c语言pow的作用,c语言中pow函数的用法是什么?
  9. Priceline拥有五个子品牌分别是:Booking.com、Priceline.com、Agoda、Kayak 以及Rentalcars
  10. 计算机网络中的广播是指什么,计算机网络中的广播和多播指的是什么?
  11. 万字案例 | 用Python建立客户流失预测模型(含源数据+代码)
  12. 医学影像常用Python包
  13. 网页中使用的特殊字体(webdings, wingdings 2)续
  14. Qt编写密钥生成器+使用demo(开源)
  15. Flink优化01---资源配置调优
  16. 独眼龙夏侯惇为什么能两次打败巅峰时期的赵云,他到底有多厉害?
  17. 设计模式学习之锦囊妙计定乾坤
  18. 数据结构(三)打印二叉树中结点层次遍历序列的实现
  19. ​想知道与你最般配的伴侣长什么样?这个“夫妻相”生成器要火
  20. 如何在ASA防火墙上实现ipsec ***

热门文章

  1. php无版权图库api,12个无版权限制的大图特供网站_交互设计教程
  2. There are unfinished transactions remaining解决办法
  3. word方框中打对号
  4. Kubernetes operators
  5. 在计算机中添加用户时提示拒绝访问,教你怎么解决打印机拒绝访问问题
  6. android intent-filter作用,详解Android中Intent对象与Intent Filter过滤匹配过程
  7. MongoDB5.0安装总结(简单)
  8. 【2021软件创新实验室暑假集训】总结篇
  9. 移动铁通宽带上网设置教程
  10. 《数字图像处理》-(3)-2频率域滤波