DEV Community

Discussion on: Laravel tips: set resolve alias in Laravel mix

Collapse
 
brickgale profile image
Brian Monsales

This will not work on the latest laravel-mix. laravel-mix.com/docs/4.0/extending...

Collapse
 
brickgale profile image
Brian Monsales

mix.extend('exampleConfig', new class {
webpackConfig(webpackConfig) {
webpackConfig.resolve.extensions.push('.js', '.vue', '.json'); // you don't need this on v4
webpackConfig.resolve.alias = {
'vue$': 'vue/dist/vue.esm.js',
'@': __dirname + '/resources/assets/js'
};
}
});

and lastly, call it on last: mix.exampleConfig();

Collapse
 
acro5piano profile image
Kay Gosho

Thank you for pointing out!

Collapse
 
bolechen profile image
Bole Chen
Collapse
 
josegus profile image
Gustavo Vasquez • Edited

It is working for me in the latest laravel-mix:

mix.webpackConfig({
    resolve: {
        alias: {
            '@models': path.resolve(__dirname, 'resources/js/models/'),
            '@services': path.resolve(__dirname, 'resources/js/services/'),
            '@sections': path.resolve(__dirname, 'resources/js/sections/'),
            '@components': path.resolve(__dirname, 'resources/js/components/'),
        }
    }
});
Enter fullscreen mode Exit fullscreen mode
Collapse
 
patricnox profile image
PatricNox

Thanks! This is the cleanest way.