我正在编写一个可以在网络浏览器中运行并使用 Node.JS 进行测试的 typescript 代码。
我的客户端代码如下所示。
import * as WebSocket from 'ws';
export class SomeClient {
constructor(url) {
this.ws = new WebSocket(url);
}
send(data: any) {
this.ws.send(data);
}
}
我在使用 mocha/chai 编写单元测试代码时没有遇到任何问题。
但是,尝试捆绑此代码时,browserify 包含所有“ws” Node 模块,输出文件的大小几乎为 100kb。如果我删除 import 'ws' 语句,包文件大小会缩小到不到 1kb。但是,在这种情况下,Node.JS 测试会提示“WebSocket 未定义”错误。
我认为,这是因为 WebSocket 在 Web 浏览器中得到原生支持,但在 Node.JS 中不受支持,并且需要外部“ws”模块才能正常运行。
我怎样才能为网络浏览器制作一个最小尺寸的包,但可以在 Node.JS 中使用???
最佳答案
关于node.js - 使用同时在浏览器和 Node.JS 上运行的 TypeScript 编写 WebSocket 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48554582/