在Laravel项目中使用Vuepress

时间:2018-06-21 21:04:43

标签: laravel vuepress

我实际上正在运行一个Laravel网站,我想在其中运行Vuepress文档部分。

借助这些说明,安装Vuepress非常简单,开发服务器也是如此。

但是,在将其集成为静态站点时,与Laravel的交互让我有些迷茫。

我所有的文档都位于我Laravel应用根目录下的docs文件夹中。

我设法设置了Vuepress的config.js来将静态站点构建到另一个文件夹中。

base: '/docs/',
dest:'./public/docs',

执行上述操作,使文档完全暴露于Web(在公共文件夹中)。

但是,我要寻找的是将其更精确地集成到Laravel中(以及我创建的中间件和路由)。

2 个答案:

答案 0 :(得分:2)

方法1

1。在laravel目录的/docs中安装vuepress

2。为vuepress配置正确的basedest

/docs/.vuepress/config.js

module.exports = {
  dest: 'public/docs',
  base: 'docs/',
};


3。启用laravel视图以包含/public目录中的文件

/app/config/view.php

...
'paths' => [
    resource_path('views'),
    base_path('public'), // now blade's @include will also look in /public
],
...


4。为vuepress创建一条允许.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
});


方法2

或者要通过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');
});