将 bolt cms 用于单页应用程序

using bolt cms for single page app

我想将 bolt 用作无头 cms。我的计划是创建一个基于 vue.js 的模板并使用 bolt 插件 jsonAPI 加载内容。 但我正在为主题和配置设置而苦苦挣扎。 我想禁用 CMS 中的所有路由,并且 return 只有一个带有 css 和 js 文件的静态 html。

最简单的方法是让他们都使用相同的模板,然后让该模板显示 <html></html>,这样就完成了。

我认为您的问题可以通过以下替代解决方案来解决:

使用不同的域

将您的 vue SPA 应用程序放入 yourdomain.com 并将您的 bolt 作为 RESTAPI 提供者放入 子域。yourdomain.com.由于它是一个子域,您不会遇到任何 CORST 问题,并且您可以按照常见教程如何设置 bolt cms 以及如何构建 vuejs SPA。


在bolt cms模板中使用vuejs SPA

假设你使用 webpack 开发 vuejs SPA,你必须设置 asset public 路径作为 bolt 模板位置,配置文件在 your-vue-directory/config/index.js

module.exports = {
  build: {
    assetsPublicPath: '/theme/your-theme/',
    ......
  },
}

然后在完成构建应用程序后,您可以将构建文件从 your-vue-directory/dist 复制到 your-bolt-directory/public/theme/your-theme

但是使用此解决方案,如果您使用的是 vue-router,我认为您不能使用“历史”模式,因为所有路由都将由 bolt cms 处理。唯一可能的路由器模式是 'hash'.