在开发ts时,有时会遇到没有d.ts文件的库,同时在老项目迁移到ts项目时也会遇到一些文件需要自己编写声明文件,但是在需要的声明文件比较多的情况,就需要自动生产声明文件。用过几个库。今天简单记录一下。自己怎么编写有很多教程和文档,那里就不介绍了。

1、为整个包添加声明文件

使用微软的dts-gen

简单使用

npm install -g dts-gen   // 先全局安装dts-gen
npm install -g yargs // 然后在全局安装你需要生产声明文件的库
dts-gen -m yargs // 执行命令生成文件

在你执行的文件的路径下(一般是项目的根目录)生成了yargs.d.ts

其他参数和功能自行参考文档

2、为单个文件生产声明文件

使用dtsmake

简单使用

npm i dtsmake -g   // 先全局安装dtsmake

dtsmake -s ./path/to/sourcefile.js  // 在对应的文件生产文件

说明:

  • 生成的文件一般都会有一些问题,需要自己稍微修改一下,如果不想写类型直接用any
  • 执行的时候可能会报错tern没有按装,就需要在安装一下,在项目目录 npm i tern --save-dev

其他参数和功能自行参考文档

其他

  • dtsgenerator - d.ts file generator tool, for only JSON Schema files.
  • js2tsd - d.ts file generator tool, no type inferrence.
  • JS2TSD d.ts file generator GUI tool app. Not CLI.

TypeScript 类型定义文件(*.d.ts)自动生成工具的更多相关文章

  1. JavaScript 和 TypeScript 交叉口 —— 类型定义文件(*.d.ts)

    在 <从 JavaScript 到 TypeScript 系列> 文章我们已经学习了 TypeScript 相关的知识. TypeScript 的核心在于静态类型,我们在编写 TS 的时候 ...

  2. TypeScript 学习四 面向对象的特性,泛型,接口,模块,类型定义文件*.d.ts

    1,面向对象的特性一:类,继承,见上一篇博客: 2,面向对象的特性二: 泛型(generic):参数化的类型,一般用来限制集合的内容:指定只能放某个类型的元素 如下图中的尖括号中的Person,就代表 ...

  3. TypeScript类型定义文件(*.d.ts)生成工具

    在开发ts时,有时会遇到没有d.ts文件的库,同时在老项目迁移到ts项目时也会遇到一些文件需要自己编写声明文件,但是在需要的声明文件比较多的情况,就需要自动生产声明文件.用过几个库.今天简单记录一下. ...

  4. CesiumJS新增官方TypeScript类型定义

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 在当前的1.70版本中,CesiumJS现在附带了正式的Type ...

  5. 痞子衡嵌入式:MCUXpresso IDE下工程链接文件配置管理与自动生成机制

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下工程链接文件配置管理与自动生成机制. 痞子衡在 2018 年初写过一个专题 <嵌入式开发文件系列&g ...

  6. vs2022+resharper创建模板——实现在新建文件的时候自动生成防卫式声明和自定义语句

    在网上找了很久如何让visual studio新建文件的时候自动生成注释和防卫式声明,虽然防卫式声明可以用#proga once替代,但是在clion里可以自动生成vs里面没法自动生成还是觉得难受,于 ...

  7. pycharm中每次创建py文件时就自动生成代码头,以及出现SyntaxError:Non-ASCII 。。。问题

    我们在pycharm中执行py文件的时候,可能会出现以下错误 这是因为你没有制定编码格式,这时候你需要在文件最开始制定编码格式,代码如下 #!/user/bin/env python #-*- cod ...

  8. 转载 《TypeScript 类型定义 DefinitelyTyped》

    快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中.   <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...

  9. iBatis 代码自动生成工具 iBator 及 Example 使用

    iBator的下载和安装 官方下载地址:http://people.apache.org/builds/ibatis/ibator/ 安装:见<Eclipse 插件安装> 安装完成后,“F ...

随机推荐

  1. mysql锁分析相关的几个系统视图

    1.infomation_schema.innodb_lock_waits+-------------------+-------------+------+-----+---------+----- ...

  2. Java中判断对象是否为空的方法

    首先来看一下工具StringUtils的判断方法:    一种是org.apache.commons.lang3包下的:    另一种是org.springframework.util包下的.这两种S ...

  3. laravel使用 面向对象的方式绑定多对多的关系

    创建model文件,并且一起创建migration文件: php   artisan  make:model Habit  -m 创建多对多的中间表的方法: php artisan make:migr ...

  4. 跟随我在oracle学习php(13)

    常用的css样式 [class~="col-6"]:选择我所有类名中包含有col-6独立单词的元素 [class*="col-"]:选择所有类名中含有" ...

  5. python输入整数

    #!/usr/bin/env python#ecoding=utf-8'''Created on 2017年11月2日 @author: James zhan''' def fun(n): if n= ...

  6. 使用Vue-cli搭建多页面应用时对项目结构和配置的调整

    前提:在这里使用的是webpack模板进行搭建 第一步.安装Vue-cli并且进行初始化 首先打开git,在里面使用npm全局安装Vue-cli,并且进行初始化 npm i vue-cli -g 然后 ...

  7. v模拟器(华为、H3C)点滴

    华为模拟器:eNSP V100R002C00B500 安装问题: 1)环境为WIN10,64位专业版 2)安装完成后可以打开界面,但是新建一个设备后,打不开,一直不停的#号 3)解决:手工点击Virt ...

  8. springboot秒杀课程学习整理1-4

    1)商品模型设计 (应该是先设计商品的model,然后才是数据库表) 模型字段(id,title,price(double),stock(库存),description,sales,imgUrl) 创 ...

  9. python简介和python工具的选择

    Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有 ...

  10. python学习------模块

    模块(modue)的概念 在计算机程序开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件 ...