在Laravel 5.4中,引入了Mix来编译assets资源 和维护assets资源 管道.Mix默认将您的公共目录命名为public.在很多情况下,包括我的,我的公共目录被称为其他东西.就我而言,是public_html.

如何更改assets资源 编译到的公共目录?

I have tried changing the paths within webpack.min.js to:

mix.js('resources/assets/js/app.js', 'public_html/assets/js')
   .sass('resources/assets/sass/app.scss', 'public_html/assets/css');

Unfortunately this compiles to:

- public
|- _html
|-- assets
|--- css
|--- js
|- fonts

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

elixir.config.publicPath = 'public_html/assets';

I have checked Mix's config file, but can't see anything obvious here.

Please note: this is Laravel Mix, the npm package, so it's nothing to do with amends in the index.php file.

推荐答案

There is an undocumented (I believe) method called setPublicPath. You can then omit the public path from the output. setPublicPath plays nicely with underscores.

mix.setPublicPath('public_html/');
mix.js('resources/assets/js/app.js', 'assets/js')
   .sass('resources/assets/sass/app.scss', 'assets/css');

Laravel相关问答推荐

Laravel 语法 GroupBy 获取列到数组

将错误消息抛出并显示为关联数组

从主类别模型 laravel 中获取子类别翻译

使用 laravel 根据当月显示注册用户列表

如何在 Laravel 中填充以后执行的条件

在 laravel 4.2 中,用户 'root'@'localhost' 的 Laravel 访问被拒绝(使用密码:YES)

上传时Laravel正在旋转图像

Laravel:Blade foreach 循环 bootstrap 列

Eloquent 的集合方法,例如 only 或 except 返回一个空集合

Laravel Eloquent:访问属性和动态表名

localhost 和stream_socket_enable_crypto():SSL 操作失败,代码为 1

有条件的Eager加载

在 Laravel 中无效后防止重定向到主页

Laravel 5 - 在控制器文件中为多个路由定义中间件

Homestead:文件夹映射到错误的文档根目录

为什么客户凭证应该与 Laravel Passport 中的用户相关联?

Composer 致命错误:声明 Fxp... 必须与第 334 行的 ...AbstractAssetsRepository.php 兼容

Laravel 用户能力

Laravel 分页漂亮的 URL

登录后 DevTools 无法解析 SourceMap 错误将重定向到该 js 文件