我实际上正在运行一个Laravel网站,我想在其中运行Vuepress文档部分。
借助这些说明,安装Vuepress非常简单,开发服务器也是如此。
但是,在将其集成为静态站点时,与Laravel的交互让我有些迷茫。
我所有的文档都位于我Laravel应用根目录下的docs
文件夹中。
我设法设置了Vuepress的config.js
来将静态站点构建到另一个文件夹中。
base: '/docs/',
dest:'./public/docs',
执行上述操作,使文档完全暴露于Web(在公共文件夹中)。
但是,我要寻找的是将其更精确地集成到Laravel中(以及我创建的中间件和路由)。
答案 0 :(得分:2)
/docs
中安装vuepress base
和dest
/docs/.vuepress/config.js
module.exports = {
dest: 'public/docs',
base: 'docs/',
};
/public
目录中的文件/app/config/view.php
...
'paths' => [
resource_path('views'),
base_path('public'), // now blade's @include will also look in /public
],
...
.html
扩展的laravel路由/routes/web.php
use View;
Route::get('/docs', function() {
View::addExtension('html', 'php'); // allows .html
return view('docs.index'); // loads /public/docs/index.html
});
或者要通过Laravel更好地控制资产,您可以在此处尝试本教程:https://serversideup.net/vuepress-within-a-laravel-application/
答案 1 :(得分:1)
# install as a local dependency
yarn add -D vuepress # OR npm install -D vuepress
# create a docs directory
mkdir docs
# create a markdown file
echo '# Hello VuePress' > docs/README.md
package.json
{
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
}
/docs/.vuepress/config.js
module.exports = {
dest: 'public/docs',
base: '/docs/',
};
npm run docs:build
/routes/web.php
Route::get('/docs', function() {
return File::get(public_path() . '/docs/index.html');
});