【问题标题】:Can we combine Keystone JS with Angular?我们可以将 Keystone JS 与 Angular 结合起来吗?
【发布时间】:2017-08-14 05:04:06
【问题描述】:

我最近了解了 CMS 工具 Keystone,并且正在浏览他们的示例和一些在线教程。大多数教程都使用 HandleBars 作为视图。我熟悉 Angular 2 并希望使用 Angular 作为视图。

我最初的方法是创建一个 Keystone JS 项目,然后使用 Angular cli 在其中创建一个 Angular 2 应用程序。并将 Angular 应用程序的构建目标设置为 Keystone JS 项目的公共文件夹。但我错过了 Keystone JS 中指向查找 Angular 构建生成文件的链接。

如果有人解决了这个问题,请告诉我如何解决这个问题。

【问题讨论】:

    标签: angular keystonejs


    【解决方案1】:

    我建议您将 Angular 应用与 Keystone 应用分开创建。

    然后,您可以使用 Keystone 设置 REST 端点,并在您的 Angular 应用程序中使用它们来检索数据。您可以使用 res.send() 或 Keystone 中间件:res.apiResponse() 在响应中发送数据,而不是从视图(路由控制器)呈现模板。

    如果您真的希望 Keystone 和 Angular 在同一个项目中,那么您可以将应用程序构建到公用文件夹,如您所说,然后从您的根目录 ('/') 呈现模板(车把等)而不是您可以从公共文件夹中提供 index.html 文件的路线。

    但是,这可能会变得混乱,所以我建议将两者分开。

    【讨论】:

    • 我推荐这个答案。这使您的项目更易于使用。您甚至可以启动另一个网站并在那里检索数据。如果您有 2 个网站从 1 个后端提取数据,那么将其保存在一个项目中就没有意义了。我猜正确的术语是“更模块化”?
    • @Steve Holgado,如果在将应用程序托管到云时,我将创建与 keystone 应用程序分开的应用程序,我是否还需要单独托管它们?谢谢
    • @JhonCaylog 如果您的应用程序是客户端呈现的 SPA 或静态生成的站点,那么您可以将其单独托管在 AWS S3 甚至 GitHub 页面等服务上。不过,您的 Keystone 应用程序和数据库将需要一个服务器。
    • 是的,它是一个 SPA 应用
    • @JhonCaylog 是的,我认为利用 S3、Netlify 或类似工具来为您的 SPA 服务会很好。这样,您可以减少服务器必须处理的负载。此外,如果其中一个发生变化,您可以独立部署后端和前端。
    猜你喜欢
    • 2020-02-19
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 2016-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多