Azure WebSocket с использованием NodeJ - PullRequest
0 голосов
/ 02 июля 2018

Этот код работает в Azure

var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port);

, в то время как код написан ниже, выдает ошибку '.azurewebsites.net в настоящее время не может обработать этот запрос. ОШИБКА HTTP 500 '. В журналах приложений отображается «Приложение сгенерировало необработанное исключение и завершается: SyntaxError: Использование const в строгом режиме. "Пожалуйста, предложите, в чем может быть проблема. В настоящее время, используя версию узла 9.2.0, также пытался изменить версию на 8.11.3 как в package.json, так и в настройках приложения.

var app = require('http').createServer(handler)
var io = require('socket.io')(app);
var fs = require('fs');

var port = process.env.PORT || 1337;
app.listen(port);

function handler(req, res) {
    fs.readFile(__dirname + '/page.html',
        function (err, data) {
            if (err) {
                res.writeHead(500);
                return res.end('Error loading index.html');
            }

            res.writeHead(200);
            res.end(data);
        });
}

io.on('connection', function (socket) {
    console.log((new Date()) + ' Connected to server socket');

    socket.emit('message', {
        msg: 'Connected! Greetings from server!'
    });

    socket.on('message', function (data) {
        console.log((new Date()) + ' Message: ' + data);
        socket.emit('message', {
            msg: 'Message received from client: ' + data
        });
    });

    socket.on('disconnect', function () {
        console.log((new Date()) + ' Disconnected!');
    });
});

1 Ответ

0 голосов
/ 09 июля 2018

В настоящее время узел этих двух версий (8.11.3 / 9.2.0) недоступен в Azure.

Когда мы указываем версию, не установленную в Azure, используется старая версия 0.10.40, где const не включена по умолчанию, поэтому мы встретили SyntaxError: Use of const in strict mode. См. связанную тему для получения более подробной информации.

Мы можем использовать 10.0.0, 8.11.1 и т. Д. Перейдите на https://<yourwebappname>.scm.azurewebsites.net/api/diagnostics/runtime, чтобы увидеть все доступные версии.

...