好的,事情就是这样。
我有良好的 JS 背景,过去也有过 JS 经验,并且有很多很酷的基本工具,我从一个项目到另一个项目都随身携带这些工具,就像一个库。
我正在尝试使用 CouchDB 制定工作。 现在,在习惯了您编写的豪华酷工具并为您简化了语言之后 - 我发现以简单的方式编写许多东西有点令人沮丧。
我正在寻找一种方法,可以将一组有限的、高效的通用工具加载到数据库上下文中,这些工具专注于纯语言,并使该语言的工作更加出色(天哪,不,我不谈论 jquery 或任何更丰富的库)。
如果最重要的是,可以找到一种方法,我可以将一些我自己的逻辑工具(BL 模型函数)添加到 couchDB JS 引擎的执行上下文中 - 这将呈现出强大而令人钦佩的力量,并使couchDB 是像我这样的 JavaScript 爱好者的新家。
也许我的目标太低了。
我对即使为特定数据库也可以分配一组扩展的方式感到满意,并且我不介意为每个数据库单独执行此操作。或者更糟糕 - 将其添加到每个设计文档中,这样我就可以在同一个设计文档中教授例如多个 View 什么是 Person
是什么,什么是 Worker
以及使用它们的方法根据逻辑以可重用的编码方式从它们检索数据。
谁能给我指路吗?
无论您以何种方式指出我 - 我都会非常非常感激不尽。 如果有办法解决所有这些问题——那就太好了。 相信我知道什么逻辑属于哪一层的区别...
你开启了我的可能性 - 我保证使用它们:D
最佳答案
CouchDB 现在支持作为 CommonJS 模块的代码共享。
http://docs.couchbase.org/couchdb-release-1.1/index.html#couchdb-release-1.1-commonjs
http://caolanmcmahon.com/posts/commonjs_modules_in_couchdb
通过这种方式,您可以在同一设计文档中的 View 、列表和显示之间共享 javascript 模块。 (服务器端)
此外,您可以使用此库在浏览器端加载这些模块: https://github.com/couchapp/couchapp/blob/master/couchapp/templates/vendor/couchapp/_attachments/jquery.couch.app.js
您可能还想看看 Kanso:
它确实很好地使您的 JavaScript 在服务器和客户端之间无缝工作。
关于CouchDB - 跨 View 、跨设计文档、跨数据库共享功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8300546/