我曾經使用節點作爲後端和React作爲前端,並且沒有服務器問題。現在,我已經在前端更改爲jumpsuit,我在嘗試運行節點服務器時遇到了websocket錯誤。組合節點後端和連接服務前端
更具體地講,當我運行的節點服務器啓動的端口上,但是當我到本地主機:9000頁是空白的,控制檯有此錯誤:
這是我的節點:
Server.js
(function() {
"use strict";
// Express
const express = require('express');
const app = express();
const path = require('path');
const bodyParser = require('body-parser');
// Middleware
app.use(bodyParser.json({limit: '10mb'}));
app.use(bodyParser.urlencoded({limit: '10mb', parameterLimit: 1000, extended: true}));
app.use('/', express.static(path.join(__dirname, '../dist')));
app.get('/search', require('./routes/search.js'));
module.exports = app;
}());
Serve.js
(function() {
'use strict';
// Import 'app' from server.js
var server = require('./server.js')
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({noServer: true});
// Set port as either specified by command line or 9000
server.set('port', (process.argv[2] || 9000));
// Start server
server.listen(server.get('port'),() => {
console.log(`Server started: http://localhost:${server.get('port')}/`);
});
server.on('upgrade', wss.handleUpgrade);
}());
我的index.html不過是裸露的骨頭:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome to Jumpsuit</title>
<link rel="stylesheet" href="app.css" charset="utf-8">
</head>
<body>
<div id="app"></div>
<script src="app.js"></script>
</body>
</html>
獨立我知道他們都是工作。如果我使用index.html和app.js並使用'jumpsuit watch'啓動它,那麼它可以工作,或者如果我從index.html中刪除<script src="app.js"></script>
並運行Node,則頁面加載所有的罰款,因此單獨連接和Node零件工作。但我只是想知道我如何結合他們。
謝謝