如何使用 Laravel Mix 将 Vue 块文件放入 public/js?

How do I put Vue chunk files in public/js with Laravel Mix?

我有一个 Laravel 和 Vue 项目,我在其中使用 Vue 中的动态 import 函数调用将我的组件分块到单独的文件中。

一切正常,但 Vue 块文件(例如 0.js1.js 等)直接放在 public 目录下,而不是 public/js,也就是 app.js 所在的位置。

这是我的 Laravel 混合文件:

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

mix.js('resources/js/app.js', 'public/js/')
   .sass('resources/sass/vendor.scss', 'public/css/')
   .sass('resources/sass/app.scss', 'public/css/')
   .version();

我需要怎样 change/add 让 Vue 块文件在我每次构建时自动放在 public/js 中,而不是直接放在 public 目录下?谢谢。

你可以像下面这样在webpack中添加路径

mix.webpackConfig({
    output: {
        chunkFilename: 'js/chunks/[name].js',//replace with your path
    },
});

查看此GitHub issue了解更多信息