【发布时间】: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