我正在尝试遵循this Spring教程,了解如何使用websockets。我正在使用webpack捆绑我的代码,并使用babel将其从ES6转换为。我正在尝试使用普通的sockjs语句插入import

import SockJS from 'sockjs'

但是当webpack运行时,我丢失了模块错误,
ERROR in ./~/stompjs/lib/stomp-node.js
Module not found: Error: Cannot resolve module 'net' in /Users/name/Developer/cubs-stack-4/cubs-webapp/node_modules/stompjs/lib
 @ ./~/stompjs/lib/stomp-node.js 14:8-22

ERROR in ./~/websocket/package.json
Module parse failed: /Users/name/Developer/cubs-stack-4/cubs-webapp/node_modules/websocket/package.json Line 2: Unexpected token :
You may need an appropriate loader to handle this file type.
| {
|   "_args": [
|     [
|       "websocket@latest",
 @ ./~/websocket/lib/version.js 1:17-43

主要是因为它希望在Node上运行。

我有两个问题。

首先,如何使用stompjs语句将import/require放入我的浏览器辅助代码中?

其次,在本教程中,他们如何将stompjs放到HEAD中,并且在浏览器中不会爆炸,但是当我通过webpack运行“相同”代码时,它会这样做吗?

最佳答案

似乎不再开发Spring文档中引用的stompjs库,但是这里维护了fork,并提供了有关如何将其添加到项目中的说明,可以在这里找到:https://github.com/stomp-js/stomp-websocket

这是我用来解决此问题并在Spring后端上带有websocket的React应用中正常工作的步骤:

# Add sockjs and stompjs dependencies
npm install sockjs-client --save
npm install @stomp/stompjs --save

然后将其导入您的应用程序:
import SockJS from "sockjs-client"
import Stomp from "@stomp/stompjs"

现在,您应该能够成功使用Spring文档中的前端代码。

关于stompjs - 我们如何在浏览器中导入stompjs?还是类似stompjs的东西?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36228979/

10-12 12:42