0

我们正在使用 Angular 5.2.0,我们最近为 WS 功能添加了 StompJS 2.2.3。

  "dependencies": {
    "@angular/animations": "^5.2.0",
    "@angular/common": "^5.2.0",
    "@angular/compiler": "^5.2.0",
    "@angular/core": "^5.2.0",
    "@angular/forms": "^5.2.0",
    "@angular/http": "^5.2.0",
    "@angular/platform-browser": "^5.2.0",
    "@angular/platform-browser-dynamic": "^5.2.0",
    "@angular/router": "^5.2.0",
    "...",
    "stompjs": "^2.3.3",
  },

但是,自从添加后,Karma 测试将不会加载错误:

ERROR in ./node_modules/stompjs/lib/stomp-node.js
Module not found: Error: Can't resolve 'net' in 'C:\Workspace\Projets\HAW_WEB\common\hubanywhere-angular-common\node_modules\stompjs\lib'
 @ ./node_modules/stompjs/lib/stomp-node.js 14:8-22
 @ ./node_modules/stompjs/index.js
 @ ./src/app/common/service/stomp/stomp.service.ts
 @ ./src/app/common/service/stomp/stomp.service.spec.ts
 @ ./src \.spec\.ts$
 @ ./src/test.ts

似乎我们必须允许 karma 加载本机“网络”包,但我找不到正确的配置来放置在 karma.conf.js 文件中。

谢谢你的帮助。

4

1 回答 1

0

请使用stompjs来自https://github.com/stomp-js/stompjs (npm @stomp/stompjs) 的维护版本。还有一个专门的 Angular 版本https://github.com/stomp-js/ng2-stompjs (npm @stomp/ng2-stompjs)。

这些与 Webpack、Rollup、RxJS 和其他较新的库/工具链配合得很好。

这些已经用 TypeScript 重写,所有这些都与类型库一起分发。这些附带指南和示例(请参阅:https ://stomp-js.github.io/ )。

于 2018-11-25T14:29:42.760 回答