estou tentando compilar sass e js com laravel mix e web pack

Aug 27 2020

Estou tentando compilar sass e javascript com laravel mix e webpack, mas meu js não consegue compilar, embora eu me dê uma mensagem de sucesso.

Aqui está o meu código webpack.mix.js...

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

mix.setPublicPath('public');
mix.sass('resources/assets/sass/app.scss', 'public/css/main.css');
mix.js('resources/assets/js/app.js', 'public/js/main.js');

e aqui está o meu código app.js ....

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

window.Vue = require = 'vue';

require('foundation-sites/dist/js/foundation.min');
require('slick-carousel/slick/slick.min');

// custom js
require('../js/init');

e no único cenário, obter compilação é se eu remover o vue.js do app.js tão claramente que há algo errado com essa linha, alguém sabe o que é e aqui está o erro que recebo no log do console

Uncaught TypeError: require is not a function
    at Object../resources/assets/js/app.js (main.js?1598457867:10984)
    at __webpack_require__ (main.js?1598457867:20)
    at Object.0 (main.js?1598457867:11011)
    at __webpack_require__ (main.js?1598457867:20)
    at main.js?1598457867:84
    at main.js?1598457867:87

Respostas

1 KiranManiya Aug 27 2020 at 01:56

Tente encadear os mixmétodos e antes disso, execute também o npm installnovamente, veja o exemplo abaixo.

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

mix.js('resources/assets/js/app.js', 'public/js/main.js')
    .sass('resources/assets/sass/app.scss', 'public/css/main.css')
    .version();
sohailahmad Aug 27 2020 at 02:05

tudo bem, então eu fiz algumas pesquisas e encontrei a resposta, na verdade eu estava chamando vue js da maneira errada, na verdade window.vue= require('vue');