vue.config.js to (laravel) webpack.mix.js vue.config.js to (laravel) webpack.mix.js laravel laravel

vue.config.js to (laravel) webpack.mix.js


Laravel mix has a shortcut to "indicate a file to include in every component styles" (look for globalVueStyles in the option available). So simply add the code below to the webpack.mix.js file at project root.

mix.options({    globalVueStyles: `resources/assets/css/variables.scss`});

And install the dependency sass-resources-loader

npm install --save-dev sass-resources-loader

It works only as relative path. Also, the docs say that this option only works when extractVueStyles is enabled, however it was not needed for me.

To have more control over "vue-loader" you can use the undocumented function mix.override

mix.override(webpackConfig => {    // iterate and modify webpackConfig.module.rules array})