【问题标题】:Exports functions globally in CouchDB在 CouchDB 中全局导出函数
【发布时间】:2014-12-04 09:37:43
【问题描述】:

是否有可能将库函数设置为在数据库中全局或跨服务器?或者这只能在一个设计文档中使用,如果我想在其他设计文档中具有此功能,我应该复制此功能?

例如:

路径:{数据库}/_design/doc1

{
...
"MyGlobalLib" : "exports.getsum = function() { return 2 + 2; }",
...
}

路径:{数据库}/_design/doc2

{
...
"shows" : {"anyshow": "function() { return require('MyGlobalLib').getsum(); }" },
...
}

【问题讨论】:

    标签: module couchdb global commonjs


    【解决方案1】:

    处理程序(列表、显示、视图等)是每个设计文档的,但您可以在任何不同的视图上调用它们。这意味着每个函数都是全局的,并且仅在定义的数据库中可用。在另一个设计文档中重新定义相同的功能是没有意义的。想象一下像命名空间这样的设计文档。

    【讨论】:

    • 我也这么认为,这些功能至少应该在所有数据库上都可用。但我有问题,如何称呼他们?据我所知,我应该使用 CommonJS 的 require 方法,但是当我尝试使用 "require('../designdoc2/doc/function').getme()" 时出现错误。
    • 嗯,我没有找到任何关于我的问题的有用信息。
    • 嗯,我没有找到任何关于我的问题的有用信息。我可以在设计文档 1 中编写共享库,并在其他设计文档(即 _design/2)和指向其他设计文档的路径中使用 require 吗?我知道,我可以访问当前的设计文档,但是可以从不同的 _design 访问共享库吗?只是服务器端?我想没有,因为我找不到解决方案。我知道,我可以使用 CouchApp 和他的宏,但我想在纯 CouchDB 中使用。
    • 不,你不能那样做。
    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2020-08-20
    • 1970-01-01
    相关资源
    最近更新 更多