Ошибки JS при попытке использовать Laravel mix / webpack - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть файл микса веб-пакета, который выглядит следующим образом.

let mix = require('laravel-mix');  
let basePath = 'app/Resources/assets/sass/';  
let jsPath = 'app/Resources/assets/js/';  
mix.setPublicPath('./web');  
mix.browserSync({proxy: 'rooms.test', ghost: false});
   .js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css')
mix.sass(basePath + 'base.scss', 'web/assets_static/css');

mix.combine(['./node_modules/imagesloaded/imagesloaded.pkgd.js',
    './node_modules/jquery/dist/jquery.js',
    './node_modules/slick-carousel/slick/slick.js',
    './node_modules/picturefill/picturefill.js',
    './node_modules/swipebox/src/js/jquery.swipebox.js',
    './node_modules/moment/min/moment.min.js',
    './node_modules/jquery-pjax/jquery.pjax.js',
    jsPath + '/info-pane.js',
    jsPath + '/base.js'], 'web/assets_static/js/base.js');

Когда я загружаю страницу, я получаю эту ошибку.

base.js:15708 Uncaught TypeError: Cannot read property 'defaults' of 
undefined
at HTMLDocument.<anonymous> (base.js:15708)
at mightThrow (base.js:3583)
at process (base.js:3651)

Строка для этого:

$.pjax.defaults.timeout = 25000;

... так что похоже, что базовый js-файл по какой-то причине не видит pjax-файл - даже если он находится в webpack.mix.js.

Я рву те маленькие волоски, которые у меня остались на этом - любая помощь с благодарностью получена. : -.)

1 Ответ

0 голосов
/ 01 ноября 2018

Прошлый код вместо этого. У вас есть дополнительная косая черта в jsPath и basePath, проверьте последние две строки, которые вы добавляете к ним еще одну косую черту

let mix = require('laravel-mix');  
let basePath = 'app/Resources/assets/sass';  //you have here an additional slash 
let jsPath = 'app/Resources/assets/js';  //and here to
mix.setPublicPath('./web');  
mix.browserSync({proxy: 'rooms.test', ghost: false});
mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css');
mix.sass(basePath + 'base.scss', 'web/assets_static/css');

mix.combine(['./node_modules/imagesloaded/imagesloaded.pkgd.js',
    './node_modules/jquery/dist/jquery.js',
    './node_modules/slick-carousel/slick/slick.js',
    './node_modules/picturefill/picturefill.js',
    './node_modules/swipebox/src/js/jquery.swipebox.js',
    './node_modules/moment/min/moment.min.js',
    './node_modules/jquery-pjax/jquery.pjax.js',
    jsPath + '/info-pane.js',
    jsPath + '/base.js'], 'web/assets_static/js/base.js');
...