javascript - BreezeJS 以 json 文件作为数据源(无服务器解决方案)

标签 javascript json knockout.js breeze

我有以下场景:我正在制作一个出版物查找工具,以便用户可以通过搜索字段和过滤器查找文档。现在我们的预算很小,因此所有数据都存储在一个 json 文件中(约 60 条记录)。如果项目成功,我们将拥有一个带有数据库和几千条记录的服务器。

我想使用breeze开发所有的查找解决方案,这样以后我就不必做很多修改。问题是我找不到有关直接查询 json 文件(没有服务器)的信息。

你认为这可能吗?

最佳答案

事实上,这是可能的。但我想不出像设置一个简单服务器那么简单的方法。这就像使用 Visual Studio 跟踪日志一样。也许你来自不同的环境?我想知道。即使在那里,使用某种可以返回 JSON 的 http API 来启动某些东西通常也很容易。

如果你只有 60 条记录,我猜这就是你试图匆忙站起来的原型(prototype)。您太着急了,甚至不想使用服务器……这有点奇怪,因为您需要一些东西来提供 HTML、CSS 和 JavaScript 文件,对吧?

你可以用node.js/express很容易地做到这一点;几乎与设置读取并返回 JSON 文件的快速路由一样简单。但这仍然涉及在某个地方运行的服务器(客户端自己的机器?),并且您必须学习一些基本的 Node.js

您完全可以使用 HTML 和 JS 脚本文件来完成此操作,除了文件系统之外无需任何服务器。

我想我应该从 writing a custom Breeze ajax adapter 开始这实际上是一个模拟:无论您要求什么,它都会返回完整的 JSON 数据。

您在应用程序启动时调用一次,将实体加载到 EntityManager 缓存中。然后使所有后续查询都是本地查询。您可以设置EntityManager默认查询策略,将所有查询默认转为本地查询。

无论你做什么,你都必须 define metadata描述 JSON 数据中的实体类型。我猜你只有一种类型,所以应该简单快捷。

您还必须做一些事情来告诉 Breeze 您正在查询哪种实体。在查询末尾添加 .toType('Foo'); 可能就足够了。您可以随时深入研究JsonResultsAdapter如果您需要堆栈较低级别的更高级的东西。

这一切都不难。但它们都不是 Breeze 101。您没有遵循我们所认为的典型应用程序开发路径。也许我们错过了一些东西。我很想知道人们是否能理解您的情况。

关于javascript - BreezeJS 以 json 文件作为数据源(无服务器解决方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472792/

相关文章:

javascript - 如何使用 Javascript 从 HTML 页面中的 <SCRIPT> 标记获取特定数据

javascript - 在javascript中添加另一个else函数?

javascript - 更改动态添加元素的字体大小

javascript - KnockoutJS 从可观察数组中删除项目。 Item是ul里面的listitem,是foreach生成的

asp.net - 我应该花精力实现 knockoutjs 还是研究 jQuery Data Link

javascript - 如何在使用 Puppeteer 评估页面响应之前使表单页面元素加载其内部文本?

android - 如何将字符串与设备时间匹配

php - 无法在 Objective-C 中检索 json 数据

java - 如何检查 JSON 中的字段是否为空?

javascript - KnockOut.js 中可以进行依赖验证吗