Не могу получить файлы CryptosJS

Я пытаюсь использовать CryptoJS API в своем экспресс-проекте, поэтому я пытаюсь вызвать CryptoJS API на стороне клиента, потому что я буду шифровать вводимые пользователем

Вот как я вызываю все нужные мне файлы, проблема, с которой я столкнулся сейчас, заключается в следующем: Не могу получить файлы CryptosJS

Мне кажется, что я неправильно отправляю файл на сервер, и именно здесь я запутался, потому что продолжаю делать app.get и пытаюсь получить файл из указанного мной каталога. Но он не может найти каталог, который меня смутил, потому что я знаю, что этот каталог существует.

КОД

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server),
    users = {};


server.listen(3000);


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

app.use("/js", express.static(__dirname + "/js"));

app.use("/style", express.static(__dirname + "/style"));

app.get("/js/bower_components/crypto-js", function (req, res) {
    res.sendFile(__dirname + '/crypto-js.js');

});


io.sockets.on('connection', function (socket) {
    socket.on('new user', function (data, callback) {
        if (data in users) {
            callback(false);
        } else {
            callback(true);
            socket.nickname = data;
            users[socket.nickname] = socket
            updateNames();
        }

    });

    function updateNames() {
        io.sockets.emit('usernames', Object.keys(users));
    }

    socket.on('send message', function (data, callback) {
        var msg = data.trim();
        if (msg.substr(0, 3) === '/w ') {
            msg = msg.substr(3);
            var ind = msg.indexOf(' ');
            if (ind !== -1) {
                var name = msg.substr(0, ind);
                var msg = msg.substr(ind + 1);
                if (name in users) {
                    users[name].emit('whisper', {
                        msg: msg,
                        nick: socket.nickname
                    });
                    console.info('hi');
                } else {
                    callback('Error! Enter a valid user!');
                }
            } else {
                callback("Error! Enter a pm");
            }
        } else {
            io.sockets.emit('new message', {
                msg: msg,
                nick: socket.nickname
            });
        }
    });

    socket.on('disconnect', function (data) {
        if (!socket.nickname) return;
        delete users[socket.nickname];
        updateNames();

    });
});
<!DOCTYPE html>
<html lang = "en">

<head>
    <meta charset = "UTF-8">
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0">
    <meta http-equiv = "X-UA-Compatible" content = "ie=edge">
    <title>Chatty</title>
    <link rel = "stylesheet" href = "style/style.css">
</head>

<body>
    <div id = "nickWrap">
        <form id = "setNick">
            <p>Enter A Username:</p>
            <p id = "nickError"></p>
            <input size = "35" id = "nickname">
            <input type = "submit">
        </form>
    </div>

    <div id = "contentWrap">
        <div id = "chatWrap">
            <div id='chat'></div>
            <form id='send-message'>
                <input size = "35" id = "message">
                <input type = "submit">
            </form>
        </div>
    </div>
    <div id = "users"></div>


</body>
<script src = "http://code.jquery.com/jquery-latest.min.js"></script>
<script src = "/socket.io/socket.io.js"></script>

<script src = "js/require.js"></script>
<script type = "text/javascript">
    require.config({
        paths: {
            'crypto-js': 'js/bower_components/crypto-js/crypto-js'
        }
    });

    require(["crypto-js"], function (CryptoJS) {
        console.info(CryptoJS.HmacSHA1("Message", "Key"));
        jQuery(function ($) {
            var socket = io.connect();
            var $nickForm = $('#setNick');
            var $nickError = $('#nickError');
            var $nickBox = $('#nickname');
            var $users = $('#users');
            var $messageForm = $('#send-message');
            var $messageBox = $('#message');
            var $chat = $('#chat');

            $nickForm.submit(function (e) {
                e.preventDefault();
                socket.emit('new user', $nickBox.val(), function (data) {
                    if (data) {
                        $('#nickWrap').hide();
                        $('#contentWrap').show();

                    } else {
                        $nickError.html('Name is taken! Choose a New one!');
                    }

                });

                $nickBox.val('');

            });


            socket.on('usernames', function (data) {
                var html = '';

                for (var i = 0; i < data.length; i++) {
                    html += data[i] + '<br/>'

                }

                $users.html(html);
            });

            $messageForm.submit(function (e) {
                e.preventDefault();
                socket.emit('send message', $messageBox.val(), function (data) {
                    $chat.append('<span class = "error"' + data + "</span><br/>");

                });
                $messageBox.val('');

            });

            socket.on('new message', function (data) {
                $chat.append('<span class= "msg"<b>' + data.nick + ': </b>' + data.msg +
                    "<span/><br/>");

            });

            socket.on('whisper', function (data) {
                $chat.append('<span class = "whisper"<b>' + data.nick + ': </b>' + data.msg +
                    "</span><br/>");

            });
        });
    });
</script>

</html>

Новая ошибкаНе могу получить файлы CryptosJS

Структура каталоговНе могу получить файлы CryptosJS

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
38
1

Ответы 1

Вам необходимо включить следующую строку в свой код, чтобы ваше приложение ссылалось на вашу папку JS /

Итак, вам нужно заменить ваш текущий,

app.use("/js", express.static(__dirname + "/js"));

в виде,

app.use(express.static(path.join(__dirname, "js")));

Надеюсь это поможет!

Привет, я попробовал то, что вы предложили, я все еще получаю ту же ошибку, за исключением того, что на этот раз я получаю две ошибки 404

Zubair Amjad 10.07.2018 20:36

Не могли бы вы добавить снимок экрана с этой ошибкой в ​​консоль?

David R 10.07.2018 20:51

Вы можете сказать мне, где проживает ваш require.js?

David R 10.07.2018 21:03

Он также находится в папке js.

Zubair Amjad 10.07.2018 21:05

И последнее одолжение ... Не могли бы вы также добавить снимок экрана со структурой вашей директории ??

David R 10.07.2018 21:10

Отмените мои предыдущие предложения по изменению кода и вернитесь к своему старому коду ... Затем попробуйте изменить инструкцию app.use("/js", express.static(__dirname + "/js")); НА app.use(express.static(__dirname + '/js'));

David R 10.07.2018 21:28

Другие вопросы по теме