如何使用 Laravel Vapor 发布清单文件
How to publish a manifest file with Laravel Vapor
我想在 Laravel Vapor 上发布文件 manifest.webmanifest
。我尝试在根域 (docs) 上提供它:
# vapor.php
...
'serve_assets' => ['manifest.webmanifest'],
...
Vapor 处理该路由,但抛出异常:
Client error: `GET https://xxxx.cloudfront.net/xxx/manifest.webmanifest` resulted in a `404 Not Found` response:
进一步检查后这是合乎逻辑的,因为文件永远不会发送到 S3 存储桶。 Laravel/VaporCli/AssetFiles
似乎过滤了 *.webmanifest
、manifest.json
和 mix-manifest.json
.
等文件
不知道为什么会这样。有没有人有完成工作的诀窍?
一位致力于 Vapor replied 的开发人员表示现在不可能更改它,因为这将是一个重大更改。他建议添加一个 returns 清单内容的路由。
我已将这条路线添加到我的项目中:
Route::middleware('cache.headers:public;max_age=7200')->get(
'/manifest.webmanifest',
function (): string {
return file_get_contents(public_path('manifest.webmanifest'));
}
)
我想在 Laravel Vapor 上发布文件 manifest.webmanifest
。我尝试在根域 (docs) 上提供它:
# vapor.php
...
'serve_assets' => ['manifest.webmanifest'],
...
Vapor 处理该路由,但抛出异常:
Client error: `GET https://xxxx.cloudfront.net/xxx/manifest.webmanifest` resulted in a `404 Not Found` response:
进一步检查后这是合乎逻辑的,因为文件永远不会发送到 S3 存储桶。 Laravel/VaporCli/AssetFiles
似乎过滤了 *.webmanifest
、manifest.json
和 mix-manifest.json
.
不知道为什么会这样。有没有人有完成工作的诀窍?
一位致力于 Vapor replied 的开发人员表示现在不可能更改它,因为这将是一个重大更改。他建议添加一个 returns 清单内容的路由。
我已将这条路线添加到我的项目中:
Route::middleware('cache.headers:public;max_age=7200')->get(
'/manifest.webmanifest',
function (): string {
return file_get_contents(public_path('manifest.webmanifest'));
}
)