Липкий не определяется с помощью Laravel Mix - PullRequest
1 голос
/ 12 июля 2019

Попытка использовать Laravel Mix для включения node_modules для моего приложения. Не очень опытный с этим

Я пытаюсь включить sticky.js, но продолжаю получать сообщение в консоли:

Uncaught ReferenceError: Sticky не определен

Вот мой файл веб-пакета:

const mix = require('laravel-mix');

mix.js('resources/js/vendor.js', 'public/js')
.combine([
  'resources/js/appOptions.js',
  'resources/js/scripts.bundle.js',
], 'public/js/scripts.bundle.js')
.copy('resources/js/pages/*.js', 'public/js/pages')
.copy('resources/js/plugins/', 'public/js/plugins')
.sass('resources/sass/vendor.scss', 'public/css/')
.copy('resources/css/style.bundle.css', 'public/css')
.copy('resources/css/app.css', 'public/css')
.copy('resources/css/pages/*.css', 'public/css/pages')
.webpackConfig({
    resolve: {
      modules: [
        'node_modules'
      ],
      alias: {
        jquery: 'jquery/src/jquery'
      }
    }
});

if (mix.inProduction()) {
    mix.version();
    mix.disableNotifications();
}

Мой файл vendor.js:

import 'bootstrap';
import 'sticky-js';
import 'moment';
import 'moment-timezone';
import 'jquery-validation';

и файл scripts.blade.php, который вызывается в других блейд-файлах:

<script src="{{ mix('/js/vendor.js') }}"></script>
<script src="{{ mix('/js/scripts.bundle.js') }}"></script>

Я проверил, загружается ли jQuery, и похоже, что, учитывая, что я также получаю следующее сообщение:

jQuery.Deferred исключение: Sticky не определен ReferenceError: Sticky не определен

Любая помощь здесь будет оценена.

1 Ответ

1 голос
/ 14 июля 2019

Попробуйте назначить его глобальному объекту, как показано ниже:

window.Sticky = require('sticky-js');

PS: я не вижу включения jQuery в вашего поставщика.Попробуйте добавить это в ваш vendor.js

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

Убедитесь, что вы включили jquery и sticky в качестве зависимости в package.json.

...