У меня есть 3 файла:Deploy маршрут в Node.js приложения в Heroku без express.js
server.js
содержащих Node.js сервер (с помощью WebSocket-узла)client.js
содержащий WebSocket кодfrontend.html
содержащий содержимое html, содержит файлclient.js
.
package.json:
{
"name": "kapp",
"version": "1.0.0",
"description": "Lightweight peer to peer",
"main": "frontend.html",
"scripts": {
"test": "node server.js"
},
"engines": {
"node": "0.10.x"
},
"author": "Kaustav Ray",
"license": "MIT",
"dependencies": {
"websocket": "^1.0.19"
}
}
server.js
var WebSocketServer = require('websocket').server;
var http = require('http');
var server = http.createServer(function(request, response) {
});
server.listen(1337, function() { });
wsServer = new WebSocketServer({
httpServer: server
});
wsServer.on('request', function(request) {
var connection = request.accept(null, request.origin);
connection.on('message', function(message) {
if (message.type === 'utf8') {
}
});
connection.on('close', function(connection) {
});
});
client.js
$(function() {
window.WebSocket = window.WebSocket || window.MozWebSocket;
var connection = new WebSocket('ws://127.0.0.1:1337');
connection.onopen = function() {
};
connection.onerror = function (error) {
};
connection.onmessage = function (message) {
try {
var json = JSON.parse(message.data);
} catch (e) {
console.log('This doesn\'t look like a valid JSON: ', message.data);
return;
}
// handle incoming message
};
});
Локальная структура папок:
- .git
- node_modules // содержащий WebSocket
- client.js
- frontend.html
- server.js
- package.json
Но как-то мое приложение не работает и показывает ошибку приложения!
Я хочу сначала запустить сервер nodejs и открыть frontend.html.
Поскольку я начинаю с nodejs и heroku в первый раз, не могу понять точную проблему!
- Есть ли проблемы при маршрутизации или другие вещи, вызывающие эту ошибку?
- Является ли express.js обязательным для маршрутизации?
Не могли бы вы показать нам код в 'server.js'? – Tholle
Я вставил базовый skelleton сервера и клиента + обновил package.json, и он отлично работает на локальном компьютере, но сталкивается с проблемами в герою! –