Я сейчас пользуюсь http://apidocjs.com/ как мой апидок Laravel, потому что я просто привык к этому раньше.
чтобы просмотреть апидок, каждый раз, когда я должен перетащить index.html
в браузер, что довольно раздражает.
Можно ли превратить его в статическую страницу, чтобы люди, с которыми я делюсь апидоком, могли просто сгенерировать документ и перейти к маршруту.
Я пытался что-то вроде … положить мой apidoc
папка под public
папку приложения, а также попытался добавить маршрут, такой как
Route::get('/apidoc', function(){
return File::get(public_path() . '/apidoc/index.html');
});
Оба они не работали index.html
не может загрузить css
а также js
потому что в index.html
URL-адрес источника что-то вроде vendor/polyfill.js
который затем попытался пойти localhost:8000/vendor/polyfill.js
но на самом деле URL должен быть что-то вроде localhost:8000/apidoc/vendor/polyfill.js
Кто-нибудь знает, как это легко исправить?
Заранее благодарю за любую помощь
Вы также можете немного «обмануть», зарегистрировав маршруты поставщиков:
Route::get('vendor/{any}', function ($any) {
abort_unless(is_readable(public_path("apidoc/vendor/$any")), 404);
return File::get(public_path("apidoc/vendor/$any"));
})->where('any', ".*");
Route::get('apidoc', function(){
return File::get(public_path() . '/apidoc/index.html');
});
Конечно, идеальное решение — если вам действительно удастся изменить шаблон, который вы используете для index.html, чтобы использовать относительные, а не абсолютные пути (то есть изменить все <link href='/vendor...'>
в <link href='vendor...'>
поэтому файл может автоматически запрашивать правильный ресурс.
Других решений пока нет …