0

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

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

你认为这可能吗?

4

1 回答 1

2

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

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

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

您可以完全使用 HTML 和 JS 脚本文件而不是文件系统以外的服务器来完成它。

在我的脑海中,我想我会首先编写一个自定义的 Breeze ajax 适配器,它实际上是一个模拟:无论您要求什么,它都会返回完整的 JSON 数据。

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

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

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

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

于 2013-07-05T01:43:20.033 回答