首页 > 解决方案 > 使用 __webpack_require__ 语法在生成的 js 中无法解析 WebPack 依赖项

问题描述

TL;博士

因此,我的问题是:

=> 我可以“强制” webpack 编译依赖项const WebSocket = require('ws');=> const WebSocket = require('ws');(没有变化)吗?

如果有任何其他方法可以在生成的文件中强制执行这种依赖关系,我当然也很高兴听到其他建议。

长篇故事和背景信息

我正在尝试使用 websockets 设置 angular 6 通用 ssr(服务器端渲染)场景。我使用 webpack 从 typescript => javascript 编译 nodejs 网络服务器。我不断收到错误“ReferenceError:未定义 WebSocket”。经过 2 周的故障排除,我终于发现,nodejs 没有原生 websocket 支持(浏览器有)。所以在添加"ws": "^6.0.0"到我的 package.json 并将它 ( const WebSocket = require('ws');) 导入到我的 webpack 编译的 js 文件中之后,我终于让它工作了!但是,如果我将它导入到未编译的 ts 文件中,它将被编译成var WebSocket = __webpack_require__(333);不起作用。

道歉和免责声明

我还在相应的存储库中打开了问题(https://github.com/angular/universal/issues/1042https://github.com/ReactiveX/rxjs/issues/3942),但没有人能够帮助我。由于我对 webpack 如何工作的理解非常有限,我的问题可能会产生误导。如果是这种情况,我深表歉意。

标签: javascriptnode.jstypescriptwebsocket

解决方案


推荐阅读