【发布时间】:2017-10-04 12:49:06
【问题描述】:
在生产中,加载我使用的资产,例如:
<link href="{{ mix('/css/app.css') }}" rel="stylesheet">
并期望在编译时看到:
<link href="https://example.com/css/app.083fd04ba374238b03b23e742c997718.css" rel="stylesheet">
但是我看到的只是相对路径:
<link href="/css/app.083fd04ba374238b03b23e742c997718.css" rel="stylesheet">
webpack.mix.js:
mix
.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.sass('resources/assets/sass/print.scss', 'public/css')
.copy([
'node_modules/bootstrap-sass/assets/fonts/bootstrap',
'node_modules/font-awesome/fonts',
], 'public/fonts')
.sourceMaps();
if (mix.config.inProduction) {
mix
.version()
.disableNotifications();
} else {
//
}
在最新版本的 Laravel (5.4.21) 上。使用 nginx,在 Ubuntu 16.04 上强制使用 https。不知道为什么路径不是完整的,而是相对的。
编辑:如果我尝试使用 mix 与 asset,而不使用 https,我也会在本地看到相同的行为。协议在这里似乎并不重要。
【问题讨论】:
-
您应该选择@Devon 答案——这是正确答案,而且要简单得多。
-
/css/app是绝对路径,不是相对路径……
标签: laravel laravel-mix