无法将 ws 库添加到 Angular 项目

Posted

技术标签:

【中文标题】无法将 ws 库添加到 Angular 项目【英文标题】:Unable to add ws library to angular project 【发布时间】:2021-08-30 13:22:31 【问题描述】:

我正在尝试将 ws npm 库添加到我的 Angular 项目中,但不知道如何正确执行。

我使用npm install ws 安装了它。现在我正在尝试将其导入app.module.ts 文件中。

我尝试了import WebSocket from 'ws';,在imports 中添加了WebSocket

我也尝试过其他形式的编写,它们都给我一个错误:'WebSocket' can only be imported by turning on the 'esModuleInterop' flag and using a default import.

删除import WebSocket from 'ws'; 行并将WebSocket 留在导入列表中似乎没问题。但我认为这是错误的 WebSocket,因为我没有看到与 ws 库相关的任何内容。

这样好吗,还是我做错了什么?

我正在查看本教程中的Sending and receiving text data https://www.npmjs.com/package/ws#sending-and-receiving-text-data 对他们来说似乎有效。

【问题讨论】:

【参考方案1】:

您不能将您的库导入 Angular 模块,Angular 模块是一个非常具体的架构,请看这里https://angular.io/guide/architecture-modules。 您可以将此库直接用于组件或服务中,在我看来,您希望创建一个引用该库的 websocket.service.ts,并且您将围绕它创建一些方法。

快速浏览网络,您可以在这里找到一个简单的示例 https://javascript-conference.com/blog/real-time-in-angular-a-journey-into-websocket-and-rxjs/,该示例演示了该概念。

【讨论】:

好的,我尝试在新的websocket.service.ts 中执行import WebSocket from 'ws';。但我仍然收到'WebSocket' can only be imported by turning on the 'esModuleInterop' flag and using a default import. 发帖***.com/questions/56238356/…之前请先做一些研究

以上是关于无法将 ws 库添加到 Angular 项目的主要内容,如果未能解决你的问题,请参考以下文章

Angular Schematics - 将库添加到 NgModule 导入

将脚本 JS 添加到我的 angular7 项目中

为啥 angular.js 在添加动态元素时不够聪明,无法编译 DOM?

将脚本添加到 Angular 库

无法将 Signalr 客户端库作为可移植库添加到 Xamarin 项目

如何将全局样式添加到 Angular 6/7 库