如何在Laravel Mix中将公共路径更改为包含下划线的内容?

Mik*_*ike 15 php laravel laravel-elixir laravel-5.4 laravel-mix

在Laravel 5.4中引入了Mix来编译资产并维护资产管道.将默认值混合到名为的公共目录public.在许多情况下,包括我的,我的公共目录被称为其他东西.在我的情况下,它是public_html.

如何更改编译资产的公共目录?

我试过改变其中的路径webpack.min.js:

mix.js('resources/assets/js/app.js', 'public_html/assets/js')
   .sass('resources/assets/sass/app.scss', 'public_html/assets/css');
Run Code Online (Sandbox Code Playgroud)

不幸的是,这编译为:

- public
|- _html
|-- assets
|--- css
|--- js
|- fonts
Run Code Online (Sandbox Code Playgroud)

在Laravel 5.3和Elixir中,这很简单:

elixir.config.publicPath = 'public_html/assets';
Run Code Online (Sandbox Code Playgroud)

我已经检查了Mix的配置文件,但是在这里看不到任何明显的东西.

请注意:这是Laravel Mix,npm包,所以它与index.php文件中的修改无关.

Mik*_*ike 23

有一种无证(我相信)的方法叫做setPublicPath.然后,您可以从输出中省略公共路径. setPublicPath与下划线很好地配合.

mix.setPublicPath('public_html/');
mix.js('resources/assets/js/app.js', 'assets/js')
   .sass('resources/assets/sass/app.scss', 'assets/css');
Run Code Online (Sandbox Code Playgroud)