【发布时间】:2021-10-18 17:54:19
【问题描述】:
我正在开发一个前端通过 socket.io 与后端通信的应用程序
现在我将它们放在两个单独的应用程序中,如下所示:
.
├──client
│ ├──src
│ │ └──index.js
│ ├──public
│ │ └──index.html
│ ├──webpack.config.js
│ └──package.json
└──server
├──app.js
└──package.json
./server/app.js 是这样的
const Express = require('express')();
const server = require('http').Server(Express);
const options = {
cors: {
origin: 'http://localhost:8080',
methods: ['GET','POST'],
credentials: true,
},
};
const Socketio = require('socket.io')(server, options);
Socketio.on('connection', socket => {
socket.on('do-something', () => {
console.log('doing something...');
});
});
server.listen(3000, () => {
console.log('listening on port 3000');
});
./client/src/index.js 有这些行
const io = require('socket.io-client');
const socket = io('http://localhost:3000');
const someFunction = () => {
socket.emit('do-something');
}
相当标准的东西。
现在我从两个终端窗口分别运行它们。所以基本上我有两台服务器为一个应用程序服务。这似乎不是正确的方法,所以我想尝试将它们合并到一个 webpack 应用程序中以进行部署。我怎么做?你如何在现实世界中设置这种东西?
我尝试在谷歌上搜索该主题,但找不到任何东西。如果您知道有明确解释的帖子,请分享链接。 Muchas gracias,祝你有美好的一天:)
【问题讨论】:
-
这是一个意见问题,因此不适合 SO。我会在谷歌上搜索“monorepo vs not”以了解权衡。
-
好的,谢谢@JaredSmith 的建议,我会用谷歌搜索的。不过这不是意见问题,我真的不知道该怎么做
-
But it is my understanding that I should try and unite them into a single webpack app to aim for deployment. Or should I leave them like this?这将导致基于意见的答案,因为每个人都会对此有不同的意见 -
@vch 有很多不同的方法可以做到这一点,并且对于您是否应该首先提出很多意见。所以按照 SO 标准,它是基于意见的。
-
好的,伙计们,我将编辑该部分,使其不那么以意见为导向
标签: javascript sockets webpack