внешний javascript файл для клиентских запросов node.js socket.io - PullRequest
0 голосов
/ 09 января 2020

Я создаю приложение с socket.io node.js и express. js и запускаю серверные сценарии в файле с именем app. js. Для моих клиентских скриптов на данный момент у меня есть только одно представление, поэтому я создал тег скрипта giganti c непосредственно на странице HTML, однако я предполагаю, что у меня будет больше, чем только одно представление, и для поддержания чистоты я бы хотел бы иметь внешние клиентские файлы.

Пока проект выглядит следующим образом

Приложение. js файл

app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }))


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



io.on('connection', function(socket){
    console.log('user connected')
    socket.on('connection tried', function (name) {
        if(!find(name)){
            userlist.push(name);
            socket.broadcast.emit(' connection message', name + "has connected");

        }
        else
            socket.emit('error','username');

    })
});

function find(name){
    for( let i=0; i<userlist.length; i++){
        if(userlist[i]==name)
            return true;
    }
    return false;
}

server.listen(3000);

index. html файл

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Global.io</title>

    <link type="text/css" rel="stylesheet" href="/styles/index.css">

    <script src="/socket.io/socket.io.js"></script>
    <script src="https://code.jquery.com/jquery-1.11.1.js"></script>
    <script>
        $(function () {
            var socket = io()

            $('#formElem').submit(function (e) {
                e.preventDefault();

                socket.emit('connection tried', $('#name').val());
                return false;
            })

            socket.on('error', function (error) {

            })

            socket.on('connection message', function (message) {

            })

        });
    </script>
</head>
<body>
<h1>Start debating about the change</h1>
<div id="'wrapper">
    <dev id="'steps">
        <form id="formElem" >
            <input id='name' type="text" name="user" placeholder="User name">
            <button type="submit">Submit</button>
        </form>
    </dev>
</div>

</body>
</html>

I Хотелось бы узнать, как поместить то, что находится в теге скрипта, в файл. js, потому что просто вставка копии не будет работать. Кроме того, как мне удается иметь более одного клиентского файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...