JS代码转换d.ts语法
参考一:
上次弄了一个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语法相关推荐
- 【TS语法|基础入门】《前端的未来——TypeScript》掌握TS基础语法
前端的未来--TypeScript TS基础语法 文章简介 主要内容 1 第一个 TypeScript 程序 2 TypeScript 保留关键字 2.1 TypeScript保留关键字 2.2 空白 ...
- 前端:JS/17/前篇总结(JS程序的基本语法,变量),数据类型-变量的类型(数值型,字符型,布尔型,未定义型,空型),数据类型转换,typeof()判断数据类型,从字符串提取整数或浮点数的函数
JS程序的基本语法 1,JS是区分大小写的,如:Name和name是不同的: 2,JS中每一条语句,一般以英文的分号(;)结束,在Java中是严格地一定要加上分号,不然会报错:但在JavaScript ...
- js 正则练习之语法高亮
js 正则练习之语法高亮 原文:js 正则练习之语法高亮 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解. 今天就分析下 次碳酸钴 和 Barret ...
- Nextjs中ts语法中使用全局变量
Nextjs中ts语法中使用全局变量 1.项目根目录增加文件cons.ts const globalAny: any = global;globalAny.Cons = {cndDomain: &qu ...
- ts语法基础——基础类型
TS 语法 TS 基础类型 TypeScript 支持与 JavaScript 几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用 TS 支持的变量类型如下: 类型 描述 boolean 限制 ...
- TypeScript里的.d.ts语法
在SAP Spartacus的实现里有很多.d.ts文件: https://www.typescriptlang.org/docs/handbook/declaration-files/templat ...
- JS控制CSS样式语法对照
CSS与JS紧密配合,为我们的页面增添了很多别致的效果.为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属性. 例如常用的关闭某个漂浮的广告显示:document.g ...
- JS基础_JS基础语法
文章目录 JS输出信息方式 JS编写位置 JS注释 JS基本语法 字面量与变量 字面量 变量 声明变量 标识符 基础数据类型 String 字符串 JS输出信息方式 <!-- JS代码需要编写在 ...
- 相当全的JS及.NET正则表达式语法
正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描 述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模 ...
- js 系统教程-15-js 语法之命令行-console.log,console.info,console.error,console.warn,debugger
目录 目录 console 对象与控制台 console console 对象的静态方法 格式占位符 console.warn(),console.error() console.table() co ...
最新文章
- 蹭了BCH热度,还来诋毁BCH,这些跳梁小丑到底在玩什么阴谋?
- poj1286(纯Polya定理)
- lightingJS
- UGUI的text赋值问题-速度
- jQuery修改alert ,confirm的样式
- nlp gpt论文_开放AI革命性的新NLP模型GPT-3
- html滑动验证图片,js插件实现图片滑动验证码
- c语言pow的作用,c语言中pow函数的用法是什么?
- Priceline拥有五个子品牌分别是:Booking.com、Priceline.com、Agoda、Kayak 以及Rentalcars
- 计算机网络中的广播是指什么,计算机网络中的广播和多播指的是什么?
- 万字案例 | 用Python建立客户流失预测模型(含源数据+代码)
- 医学影像常用Python包
- 网页中使用的特殊字体(webdings, wingdings 2)续
- Qt编写密钥生成器+使用demo(开源)
- Flink优化01---资源配置调优
- 独眼龙夏侯惇为什么能两次打败巅峰时期的赵云,他到底有多厉害?
- 设计模式学习之锦囊妙计定乾坤
- 数据结构(三)打印二叉树中结点层次遍历序列的实现
- ​想知道与你最般配的伴侣长什么样?这个“夫妻相”生成器要火
- 如何在ASA防火墙上实现ipsec ***
热门文章
- php无版权图库api,12个无版权限制的大图特供网站_交互设计教程
- There are unfinished transactions remaining解决办法
- word方框中打对号
- Kubernetes operators
- 在计算机中添加用户时提示拒绝访问,教你怎么解决打印机拒绝访问问题
- android intent-filter作用,详解Android中Intent对象与Intent Filter过滤匹配过程
- MongoDB5.0安装总结(简单)
- 【2021软件创新实验室暑假集训】总结篇
- 移动铁通宽带上网设置教程
- 《数字图像处理》-(3)-2频率域滤波