TS怎么调用JS封装的各种库?
创始人
2024-05-05 15:02:32
0

TS怎么调用JS封装的各种库?

做一个ts调用js库的总结,避免以后有谁再像我一样的迷茫摸索,ts调用js代码的方法有两个:

1.推荐使用的方法:网上有很多JS的公用库可以把这些库拿到项目中,并且把库小改一下,改成全局变量如:window.xxx = xxx,然后创建一个对应的xxx.d.ts声明文件,使用declare class xxx{},并且在这里xxx里面定义对应的方法或变量声明即可如(这只是我举的例子,实际变量与方法和跟实际的xxx来声明):declare class xxx{

//初始化
constructor(value:number);

toNumber():number;

toString(radix:number):string;

isZero():boolean;

value:number;

}

这样就可以在其它脚本里面这样用了:let aa = new xxx(156);aa.toNumber();

楼上网友提供的这个网址虽然不能直接用,但是可以拿来参与一下:https://github.com/DefinitelyTyped/DefinitelyTyped24还有cocos creator的creator.d.ts文件里面的声明方式也可以学习参考。

2.如果不想用.d.ts声明也可以直接按楼上的方法这样用:let MD5 = require(’…/lib/md5’);

然后在md5.js的末尾加上:module.exports = {hex_md5 : hex_md5,};

你的库根据需要导出你需要的函数就可以了。

又比如int64.js库,在末尾加上:module.exports=Int64;导出Int64这个模块。使用的地方也是一样的:let Int64 = require(’./Int64’);虽然vs code编译器把let Int64 = require(’./Int64’);这段代码给标红了,而且没有代码提示,但也是可以正常使用

再补一个方法3:
js:module.exports = Paho;//这一行写在要用的JS脚本里面,Paho是要导出的类或方法或其它什么对象
ts:import Paho = require(’./libs/netbase.js’);//这一行写在要调用JS的TS脚本里面,(./libs/netbase.js)是Paho的脚本路径
这个方法更好,既不会标红,也可以正确使用

参考
https://forum.cocos.org/t/ts-js/62224

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...