Laravel-mix Webpack 公共路径

skr*_*ibe 4 laravel webpack vue.js vuejs2 laravel-mix

所以我使用 Laravel-Mix 并在 Webpack 中设置了代码分割。我正在为我的 Vue 组件使用动态导入,如下所示。

Vue.component('UserMenu', () => import('./components/UserMenu.vue'));
Run Code Online (Sandbox Code Playgroud)

.babelrc由于我也在使用 Babel,因此我从项目根目录中的文件加载了语法动态导入插件。

这一切都工作正常,并且 Webpack 在构建时正确地分割了代码。然而,问题是,它将块放在公共根中而不是放在public/js

如果在我的 webpack.mix.js 中我这样做......

mix.js('resources/assets/js/app.js', 'public/js');
Run Code Online (Sandbox Code Playgroud)

...然后混合将构建的文件正确地放置在/js目录中。

但是为了对文件进行分块,如果在 webpack.mix.js 中我会...

 mix.webpackConfig({
    entry: {
        app: './resources/assets/js/app.js',
    },
    output: {
        filename: '[name].js',
        publicPath: 'public/js',
    }
});
Run Code Online (Sandbox Code Playgroud)

...无论我分配给 publicPath 属性什么,所有块都会放入公共根中。

知道我在这里缺少什么吗?

小智 6

尝试使用方法设置公共路径mix.setPublicPath('public/build')