Laravel 5 mix app.js создание файла

Я создал собственный файл JavaScript с простой функцией:

function picture(soemthing){ document.getElementById('idXYZ').src = "example.com"; } 

Затем я добавил этот файл в конфигурацию webpack.mix.js:

 mix.js(['resources/assets/js/app.js', 'resources/assets/js/xyz.js'], 'public/js') .sass('resources/assets/sass/app.scss', 'public/css'); 

и запустите: npm run dev. npm скомпилировал мой скрипт, и функция изображения была включена в файл app.js. Теперь я хотел бы использовать функцию «picture» в файле blade.php, но всякий раз, когда я его называю, я получаю «Uncaught ReferenceError: picture is not defined» . Я проверил источник страницы и обнаружил, что функция изображения завернута в другую функцию

 (function(module, exports) { function picture(soemthing) { document.getElementById('idXYZ').src = "example.com"; } }) 

Должен ли я добавить дополнительное пространство имен перед вызовом функции изображения из blade.php или у меня что-то не так с конфигурацией микширования?

    Функции и классы не распространяются на публику, поэтому вся логика JavaScript должна быть записана в JS-файлах. Если вы настаиваете на написании логики JavaScript в файле кликов, вы можете прикрепить эту функцию к объекту window .

     window.picture = function picture(soemthing){ document.getElementById('idXYZ').src = "example.com"; } 

     window.picture()