Javascript 引用socket.io时出错

Javascript 引用socket.io时出错,javascript,node.js,express,socket.io,Javascript,Node.js,Express,Socket.io,我正在尝试构建一个具有聊天功能的express应用程序,但是socket.io无法正常工作。当我运行服务器时,它给出了未捕获的引用错误 在www文件中 var server = http.createServer(app); require('../socket-server')(server); 在socket-server.js文件中 'use strict' var socketIO = require('socket.io'); module.exports = function

我正在尝试构建一个具有聊天功能的express应用程序,但是socket.io无法正常工作。当我运行服务器时,它给出了未捕获的引用错误

在www文件中

var server = http.createServer(app);
require('../socket-server')(server);

在socket-server.js文件中

'use strict'

var socketIO = require('socket.io');

module.exports = function(server) {
    console.log("success");
    var io = socketIO(server);
    io.on('connection', (socket) => {
        socket.on('chatMessage', (data) => {
            io.emit('chatMessage', data);
        });
    });
}

在task.hbs文件中

<div>
    <div class="row">
        <div class="col-md-8">
            <textarea id="code-screen"></textarea>
        </div>
        <div class="col-md-4" id="chatbox">
            <div class="panel panel-primary">
                <div class="panel-heading">
                    CHAT ROOM
                    <span class="pull-right" id="chatbox-username">
                        {{#if user}}
                            {{user.name}}
                        {{/if}}
                    </span>
                </div>
                <div class="panel-body">
                    <ul class="media-list" style="height: 300px; overflow-y: scroll" id="chatbox-listMessages">

                    </ul>
                </div>
                <div class="panel-footer">
                    <div class="input-group">
                        <input type="text" class="form-control" placeholder="Enter The Message" id="userMessage">
                        <span class="input-group-btn">
                            <button type="button" id="chatButton" class="btn btn-primary">SEND</button>
                        </span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/codemirror.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.48.4/mode/javascript/javascript.min.js"></script>

{{!-- <script src="../node_modules/socket.io/lib/socket.js"></script> --}}
<script src="/socket.io/socket.io.js"></script>

<script>

    var socket = io.connect('http://localhost:3000');
    var editor = CodeMirror.fromTextArea(document.getElementById('code-screen'), {
        lineNumbers: true,
        theme: 'material'
    });

    var username = $("chatbox-username").val();
    if(username === "") {
        var userId = Math.floor(Math.random() * 9999).toString();
        username = "User" + userId;
        $(#chatbox-username).text(username);
    }

    var userMessage = function(name, text) {
        return ('<li class = "media"> <div class = "media-body"> <div class = "media">' + 
            '<div class = "media-body"/>' + 
            '<b>' + name + '</b> : ' + text + '<hr/> </div> </div> </div> </li>'
            );
    };

    document.getElementById('chatButton').addEventListener("click", sendMessage);

    function sendMessage() {
        var userMessage = $(#userMessage).val();
        socket.emit('chatMessage', { message: userMessage, username: username });
        $('#userMessage').val("");
    };

    socket.on('chatMessage', (data) => {
        $('#chatbox-listMessages').append(userMessage(data.username, data.message));
    });
</script>

聊天室
{{{#如果用户}}
{{user.name}
{{/if}
发送 {{!-- --}} var socket=io.connect('http://localhost:3000'); var editor=CodeMirror.fromTextArea(document.getElementById('code-screen'){ 行号:对, 主题:“材料” }); var username=$(“聊天室用户名”).val(); 如果(用户名==“”){ var userId=Math.floor(Math.random()*9999.toString(); username=“User”+用户ID; $(#聊天室用户名).text(用户名); } var userMessage=函数(名称、文本){ 返回(“
  • ”+ '' + ''+name+':''+text+'
  • ' ); }; document.getElementById('chatButton')。addEventListener(“单击”,发送消息); 函数sendMessage(){ var userMessage=$(#userMessage).val(); emit('chatMessage',{message:userMessage,username:username}); $('#userMessage').val(“”); }; socket.on('chatMessage',(数据)=>{ $(“#聊天室列表消息”).append(userMessage(data.username,data.message)); });
    如何引用/socket.io/socket.io.js文件,以便可以引用脚本中的io变量。

    替换

    $(#chatbox-username).text(username);
    

    $('#chatbox-username').text(username);