【TypeScript】怎样在Node.js中使用全局变量global?

45 篇文章 0 订阅
6 篇文章 0 订阅

如果直接使用 global.MYVAR,TS会报错,因此你需要增加类型定义,让TS能够识别。

你可以创建一个文件 src/types/global.d.ts,内容如下:

declare global {
  var MYVAR: string
}

export {}

然后在 tsconfig.json 文件中确认有下面的命令:

"include" : [
  "src/**/*"
]

这样就可以愉快地使用 global.MYVAR 了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 TypedArray 类型来模拟 Node.js 的 Buffer 类型,TypedArray 是一个内置的类型数组,在 TypeScript 可以直接使用。同时,需要使用一些浏览器特定的 API 来实现 TypedArray 与 Buffer 类型之间的互转。 以下是一个示例代码,展示如何使用 TypedArray 实现一个类似于 Node.js Buffer 的类型: ```typescript class Buffer { private bytes: Uint8Array; constructor(sizeOrArray: number | Uint8Array) { if (typeof sizeOrArray === 'number') { this.bytes = new Uint8Array(sizeOrArray); } else { this.bytes = sizeOrArray; } } static from(value: string, encoding: string = 'utf-8'): Buffer { const encoder = new TextEncoder(); const bytes = encoder.encode(value); return new Buffer(bytes); } toString(encoding: string = 'utf-8'): string { const decoder = new TextDecoder(encoding); return decoder.decode(this.bytes); } static isBuffer(obj: any): obj is Buffer { return obj instanceof Buffer; } slice(start?: number, end?: number): Buffer { return new Buffer(this.bytes.subarray(start, end)); } // 其他方法... // 将 TypedArray 转换为 Buffer static fromTypedArray(typedArray: TypedArray): Buffer { return new Buffer(new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength)); } // 将 Buffer 转换为 TypedArray toTypedArray(): TypedArray { return new Uint8Array(this.bytes.buffer, this.bytes.byteOffset, this.bytes.byteLength); } } ``` 需要注意的是,由于不同浏览器对 TypedArray 的支持程度不同,一些 API 的实现和行为可能会有所不同,需要根据具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值