Socket.io не загружается на стороне клиента с приложением NodeJS + Polymer 2 - PullRequest
0 голосов
/ 29 августа 2018

Я не могу загрузить библиотеку socket.io на стороне клиента, как описано во многих руководствах:

var app = express(),
    server = require('http').createServer(app),
    //Serve the websocket server over the http one
    io = require('socket.io').listen(server);

app.use(express.static(path.join(__dirname, '/..', 'public')));

app.get('/', function (req, res) {
    res.sendFile('../public/index.html', { root: __dirname });
});

app.listen(process.env.APP_PORT, function () {
    console.log('Server listening on  : ' + process.env.APP_PORT);
});

io.sockets.on('connection', function (socket) {
    console.log('new someone connected !');
});
<!--The body of my index.html present in the /public folder root -->

<body>
  <seed-app></seed-app>
  <script src="/socket.io/socket.io.js"></script>  
   <script>
      var socket = io.connect('http://localhost:3000');
   </script>
</body>

Я получаю несколько ошибок в консоли:

GET http://localhost:3000/socket.io/socket.io.js 404 (Not Found)

(index):1 Refused to execute script from 'http://localhost:3000/socket.io/socket.io.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

(index):52 Uncaught ReferenceError: io is not defined
    at (index):52

Я попытался добавить type = "text / javascript", я попытался загрузить его из CDN cloudflare (я получаю от него другой тип ошибки, но я сосредоточен на получении этого /socket.io/socket.io.js, который должен быть обслуживается модулем узла socket.io)

...