【问题标题】:Generating html files for AngularJS application with KeystoneJS CMS使用 KeystoneJS CMS 为 AngularJS 应用程序生成 html 文件
【发布时间】:2023-03-09 03:51:01
【问题描述】:

我是 AngularJS 和 KeystoneJS 的新手,非常感谢您的帮助。谢谢各位。

我已经为使用 Express 的 express.static 的 Angular 应用程序创建了一个服务机制。此时,我的应用程序可以使用以下代码成功地将来自不同位置的常规 html 文件加载到特定页面。

controller.js:

.controller('Ctrl', function ($scope, $http) {

    $scope.html = "testing";

    $http({
        url: 'content/content1.html',
        method: 'GET',
        responseType: 'text'    
    }).success(function(data) {
        $scope.html = data;
    }).error()

    $scope.message = 'Hello';
});

page.html:

<div ng-bind="html"></div>

路由.js

app.use(express.static(__dirname + '/content'));

接下来,我想将内容从单独的 KeystoneJS CMS 加载到我自己的 Angular 应用程序中的这个特定页面。基本上,我只是希望能够使用 KeystoneJS 编辑一些内容,然后自动将内容发布到我单独的 Angular 应用程序上。

1) 如何以 html 页面的形式获取从 Keystone 导出的页面?

【问题讨论】:

  • 这是一个非常广泛的问题。您能否提供一个更狭窄的用例来说明您要实现的目标?
  • 感谢您的更新,但同样,问题仍然非常广泛,有很多可能的答案。例如,您可以查询 Keystone 列表,使用多种可用的诱人语言之一生成 HTML,然后使用 Express 通过自定义路由将其返回给 Angular。或者......你可以生成一个 JSON 响应,用 Express 返回它,然后在 Angular 中使用数据,并可能使用指令或其他方式来生成客户端视图。
  • 第一个示例(使用服务器端模板生成 HTML)可以在 github.com/JedWatson/keystone-demo 中找到。这不使用 Angular,但可以推断这些概念。
  • 好的,非常感谢。与此主题相关的另一个问题。我正在尝试在我的 Angular 应用程序中使用 Keystone 的链接,该应用程序在端口 3000 中运行。我无法打开 cors。如何在我的应用程序中启用 cors?我已经尝试过这个:app.all('/api*', keystone.middleware.cors);
  • app.all('/api*', keystone.middleware.cors); 确实启用了 CORS,但仅在以 /api 开头的路由上(显然)。您需要将 Keystone CORS 中间件添加到您将向其发出跨域请求的每个路由。

标签: javascript angularjs node.js express keystonejs


【解决方案1】:

我创建了一个 AngularJS+KeystoneJS Skeleton 入门应用程序,如果您想将 MEAN 与 KeystoneJS 一起使用,它应该可以帮助您入门:

https://github.com/dvdcastro/keystonejs-ng-skeleton

它展示了如何使用 keystone 基础架构为多个 angularjs 项目提供服务。我选择这个解决方案是因为翡翠是一个非常强大的模板引擎,它可以让你用 angular 做更多的事情。

【讨论】:

    猜你喜欢
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    相关资源
    最近更新 更多