php - 如何在 Laravel Mix 中将公共(public)路径更改为包含下划线的路径?

标签 php laravel laravel-elixir laravel-5.4 laravel-mix

在 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/

相关文章:

php - MySQL 在给定时间段内找到前 x%

php - 如何将我的 Controller 移动到 Laravel 5.2 中的单独包文件夹中?

php - Laravel 需要获取每条评论的用户名

laravel - Gulp - 找不到模块 'laravel-elixir'

php - 向类(class) Moodle 添加自定义字段

php - 为什么我无法在 laravel 中迁移

laravel - 未捕获( promise )TypeError : initialData is null - my components are wrapped in a single div but still getting the error

Laravel Elixir - gulp watch 不触发 version()

php - Laravel 5 Elixir : copy all files except some

php - JavaScript 中的加密和 PHP 中的解密