解决dts-gen使用H5 HTML API导出定义文件的错误

"博主在将Javascript代码转换为Typescript过程中遇到dts-gen工具生成定义文件时出现错误,如navigator、window、document等未定义。解决方法是在文件头部添加代码模拟这些浏览器对象,如var window=window||{}
摘要由CSDN通过智能技术生成

最近将部分Javascript迁移到Typescript,正遇到一些模块要生成定义文件。于是使用比较推荐的dts-gen,生成的过程遇到不少错误,例如:


ReferenceError: navigator is not defined
ReferenceError: window is not defined
ReferenceError: document is not defined
ReferenceError: FormData is not defined

难道还是得手写?我只是要生成个导出定义,不知道这工具要瞎分析个啥。仔细看一下,大致的问题,就是这些东东都是浏览器层面的东西,NODEJS不认识。于是乎,临时在头部需要加上一些代码,用来“蒙骗”工具去生成接口,例如头部添加了这些定义

var window = window || {}; // 解决不识别window
var document = document || {scripts: []}; // 解决不识别document和document.scripts
var navigator = navigator || {userAgent: '', vendor: ''}; //解决不识别navigator的userAgent和vendor
global.FormData = class FormData {}; // 解决不识别FormData数据类型

这样就好使了,本次遇到的只是给lrz图片压缩工具生成定义,其他生成定义的情况也差不多这样解决就好

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值