«$ не определено» при использовании $ в представлении после его запроса в app.js - PullRequest
0 голосов
/ 20 июня 2019

У меня есть приложение, и я хочу использовать Jquery в тегах скрипта внутри моих представлений.

Я попытался переместить импорт и убедиться, что app.js с требованием jquery загружено ДОдругой скрипт делает (с предупреждениями, одно сразу после импорта, одно прямо перед jquery, который я хочу использовать).

Я думаю, я мог бы сделать один файл на просмотр и изменить мою конфигурацию webpack и требовать каждыйвремя jquery, но это было бы утомительно.

app.js

window._ = require('lodash');
window.Popper = require('popper.js').default;
window.$ = window.jQuery = require('jquery');
require('bootstrap');

login.blade.php (макет)

<head>
    <!-- Scripts -->
    <script src="{{ asset('js/app.js') }}"></script>
    <script>
        $(document).ready(function () {
            alert("jQuery loaded");
        });
    </script>
</head>

webpack.mix.js

mix.autoload({
    jquery: ['$', 'window.jQuery', "jQuery", "window.$", "jquery", "window.jquery"],
    'popper.js/dist/umd/popper.js': ['Popper']
}).js('resources/js/app.js', 'public/js', 'ressources/js/password.js')
    .sass('resources/sass/app.scss', 'public/css');

Я ожидаю оповещения о том, что jQuery загружен, но получил

"Uncaught ReferenceError: $ is notfined"

1 Ответ

0 голосов
/ 21 июня 2019

В своем требовании app.js я изменил

window.$ = window.jQuery = require('jquery');

на

global.$ = global.jQuery = require('jquery');

Если у кого-то есть причина, почемуэто работает (и, возможно, почему я не должен этого делать), я был бы рад услышать это.

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