ts项目中引入js的 npm包

1 可以选择安装其npm包的typescript版本   npm install @types/包名 --save   一般都是这样命名

如果没有安装成功 那说明他没有ts版本, 就只能另想办法

2 如果是自己写的js库  可以单独编写.d.ts文件

3 如果是npm包的话  可以引入微软的自动生成工具 dts-gen

// 使用方法  

// 首先安装下他的包
npm install -g dts-gen
// 假设我们要给一个名为 ceshi 的npm包自动生成声明文件 
    // 没有安装ceshi包的需要先安装 npm install ceshi ....
    // 然后就是dts-gen的生成命令
    dts-gen -m ceshi
    // 然后就会在根目录生成一个ceshi.d.ts声明文件



部分npm包 会有 window is not defined 的错误   应该是此npm包 中调用的window对象无法在ts语法中直接使用

【这里哪位有解决办法...求支招】

如果是三方包 ... 那就没什么好办法

如果是自己写的库  可以将window替换为<any>window  (这个没有测试过)

 

下面说下我目前在项目中使用的方法

1 确认tsconfig.json中的 noImplicitAny 配置为 false

话说 我使用了装饰器 

红色为一种方法, 绿色为一种方法 测试都是可用的

编译的时候没有报警告或错误 但是vscode有提示

就是这红色的小波浪~

 

话说

如果没有用装饰器 而仅仅是引入ts的话 应该是没问题的

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue3 + TypeScript项目使用weixin-js-sdk,你需要执行以下步骤: 1. 安装weixin-js-sdk ``` npm install weixin-js-sdk ``` 2. 在组件引入weixin-js-sdk ``` import wx from 'weixin-js-sdk'; ``` 3. 在组件mounted钩子函数初始化JS-SDK ``` mounted() { this.initJSSDK(); } ``` 4. 编写初始化JS-SDK的方法 ``` async initJSSDK() { const res = await this.$http.get('/api/signature'); wx.config({ debug: false, appId: res.data.appId, timestamp: res.data.timestamp, nonceStr: res.data.nonceStr, signature: res.data.signature, jsApiList: ['chooseImage', 'uploadImage'] }); } ``` 上面的代码,我们从后端获取了一个签名,然后使用wx.config方法进行JS-SDK的初始化。其,debug表示是否开启调试模式,appId、timestamp、nonceStr、signature是签名相关的参数,jsApiList是需要使用的微信JS接口列表。 5. 在需要使用微信JS接口的地方调用相应的方法 ``` async chooseImage() { const res = await this.$http.get('/api/upload'); wx.chooseImage({ count: 1, sizeType: ['original', 'compressed'], sourceType: ['album', 'camera'], success (res) { const localIds = res.localIds; // 上传到服务器 wx.uploadImage({ localId: localIds[0], isShowProgressTips: 1, success: function (res) { const serverId = res.serverId; // 返回图片的服务器端ID // 将serverId发送到服务器进行保存等操作 } }); } }); } ``` 上面的代码,我们在chooseImage的成功回调函数,获取到了选择的图片的本地ID,然后使用wx.uploadImage方法将图片上传到服务器。在上传成功的回调函数,我们可以获取到图片的serverId,然后将serverId发送到服务器进行保存等操作。 以上就是在Vue3 + TypeScript项目使用weixin-js-sdk的步骤。需要注意的是,我们需要从后端获取签名等参数才能进行JS-SDK的初始化,因此需要与后端进行配合。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值