专栏首页计算机编程批处理dtsmake【仅适合win系统】

批处理dtsmake【仅适合win系统】

我们写typescript的时候一直想希望用到工具将js转换为d.ts文件,这样可以直接让ts调用其中的js代码。我们日常中用到相当多的js类库,有些类库无法直接使用ts,这样就比较麻烦。

我们先找到dtsmake 的npm 包的链接:https://www.npmjs.com/package/dtsmake 官方wiki实在是太长,我们只看其中两个指令:

dtsmake -s ./path/to/sourcefile.js
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

这两个指令可以帮助我们获取到d.ts文件。

重点来了,我们所知,一般一个库里面有将近20~30个js文件,如何一一将他们转变成d.ts文件呢,我们打开cmd 一行一行输入肯定太慢,这里我推荐使用我下面的方法——书写批处理文件来使用:

1、书写bat文件:

其步骤为: a.新建一个txt文档 b.重命名文档为:xxx.bat( 这里为了方便我重命名为 dtsmake.bat,这个对结果没影响,如果文件名无法处理,那么在控制面板中“文件夹选项”里面自行调整显示文件后缀。) c.书写指令:

bat.png

2、打开js类库的src目录

博主以百度文字识别的nodejs library来处理: a.打开aip-node-sdk-2.3.10目录 b.使用npm或yarn 命令添加tern yarn add tern c.打开src目录 d.放入刚刚写好的bat文件在src根目录下

3、执行bat

以上前提工作完成,双击打开我们的bat文件

确定前提.png

这里一定要返回src目录下查看是否自动生成了src.txt文件:

已经自动生成src.txt.png

然后按下任意按钮

自动dtsmake.gif

4、查看

查看目录:

转换好的目录.png

查看转换文件:

空文件.png

发现每个文件都是空文件,.d.ts文件为啥为空呢?原来发现dtsmake官方文档不全,其中有存在bug等问题,于是博主继续重写.bat来完成后续工作。

5、解决问题

a.重写dmake.bat:

重写dmake.bat.png

b.书写index.bat 与delete.bat并且将此放到与dmake.bat同等目录下:

index.png

delete.png

c.将此三个bat放到src根目录下:

重放的目录.png

d.运行index.bat

复制完dmake的bat文件.png

e.启动当前目录与子目录下的dmake运行

运行.gif

d.退出index.bat

退出index.png

e.再一次查看生成目录与检查文件

目录.png

这个时候的文件.png

说明此时我们的批处理成功了!

6、清理目录

最后运行delete.bat 整个目录全部清理:

清理目录.gif

这样我们完成了目录所有的src的.d.ts转换!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在win环境下使用yarn安装 vue-cli

    很多人熟悉npm,但是很少的人熟悉yarn,yarn可以说是一款高速的受BSD开源协议保护的依赖管理器,使用它可以根据算法计算下载依赖的完整性来执行对应的代码,...

    stormKid
  • 【vue随手笔记】webpack解决跨域

    这里回到BASE_URL上,只需要在原来修改的BASE_URL还原为全域名或者全地址的URL即可,毋须额外操作。

    stormKid
  • Okkt —— 一款针对kotlin语言封装的Okhttp网络请求库

    1、针对文件请求,重写okio计算方案,可实时显示请求文件进度,防止okhttp在直接做请求文件的时候采取的直传策略,从而导致下载文件间隔过长。

    stormKid
  • 关于WinForms的跨显示器DPI自适应

    WinForms 是运行在Windows上的传统.NET桌面应用技术框架。由于历史原因,它对高DPI以及跨不同DPI屏幕的支持有些问题,本文将探索尽可能的解决方...

    Edi Wang
  • 深度学习实战 图像数据集预处理总结

    (1) mnist数据集采用numpy的npz方式以一个文件的方式存储文件,加载后就可以直接得到四个数组,非常方便。

    算法与编程之美
  • 用机器学习打造聊天机器人(六) 原理篇

    本文是"手把手教你打造聊天机器人"系列的最后一篇,介绍了我们打造的聊天机器人的相关算法原理,下一篇会对本系列做一个总结。

    程序员一一涤生
  • 剑指OFFER之栈的压入、弹出序列(九度OJ1366)

    题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的...

    用户1154259
  • 浙大版《C语言程序设计(第3版)》题目集 习题3-2 高速公路超速处罚

    按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。请编写程序根据车速和限速自动判别对该机动车...

    C you again 的博客
  • BFS+DFS终结游戏题目

    题目描述:在一个 2 x 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示.

    公众号guangcity
  • [APICloud实用教程]解决APICloud平台png照片转base64编码出错问题

    在使用trans模块decodeImgToBase64函数时发现转换出来的编码上传的时候,无法正确显示。当我把转换出来的编码放在在线base64转照片的时候,提...

    小宋是呢

扫码关注云+社区

领取腾讯云代金券