在 Laravel 5.4 中引入了 Mix 来编译资源并维护资源管道。 Mix 默认将您的公共(public)目录命名为 public
。在许多情况下,包括我的,我的公共(public)目录被称为其他名称。就我而言,它是 public_html
。
如何更改资源编译到的公共(public)目录?
我尝试将 webpack.min.js
中的路径更改为:
mix.js('resources/assets/js/app.js', 'public_html/assets/js')
.sass('resources/assets/sass/app.scss', 'public_html/assets/css');
不幸的是,这会编译为:
- public
|- _html
|-- assets
|--- css
|--- js
|- fonts
在 Laravel 5.3 和 Elixir 中,这很简单:
elixir.config.publicPath = 'public_html/assets';
我检查了 Mix 的配置文件,但这里看不到任何明显的东西。
请注意:这是 Laravel Mix,即 npm 包,因此与 index.php
文件中的修改无关。
最佳答案
有一个未记录的(我相信)方法,称为setPublicPath
。然后,您可以从输出中省略公共(public)路径。 setPublicPath
与下划线配合得很好。
mix.setPublicPath('public_html/');
mix.js('resources/assets/js/app.js', 'assets/js')
.sass('resources/assets/sass/app.scss', 'assets/css');
关于php - 如何在 Laravel Mix 中将公共(public)路径更改为包含下划线的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051576/