2013-06-22 41 views
1

我希望跨各种couchdb视图地图函数使用多种函数。 我正在尝试使用commonjs require模式。使用commonjs模式重复使用couchdb视图中的函数

使用以下设计文档为什么test1需要语句工作,而test2需求语句似乎不起作用?

我还可以在多个couchdb视图中重用函数吗?

{ 
    "_id": "_design/app", 
    "_rev": "29-876296b1278db067378635a5f3309aa3", 
    "views": { 
     "test1": { 
      "map": "function (doc) {\n var setting1 = require('views/lib/config').setting1;\n emit(doc._id, setting1);\n }" 
     }, 
     "test2": { 
      "map": "function (doc) {\n var fn1 = require('views/lib/sharedFunctions').fn1;\n emit(doc._id, fn1(doc));\n }" 
     }, 
     "lib": { 
      "config": "exports.setting1 = 'a';exports.setting2 = 42", 
      "sharedFunctions":"exports.fn1 = function (doc) {\n return 'fn1 read doc ' + doc._id;\n }" 
     } 
    } 
} 

进一步信息:我目前使用的“咕噜-couchapp”插件从我的项目的src目录管理我的设计文档的上传

+0

test2的输出是什么?你的CouchDB版本是什么?这两个视图对我来说都适用于1.2.2和1.3.0版本。调试日志也是受欢迎的,可能有助于理解问题。 – Kxepal

+0

couchdb v1.2.0,我会更新并看看我如何去,如果仍然probs我会发布调试日志 – johowie

+1

所有工作在v1.3.1。我还没有尝试过任何早期版本。所以看起来功能的需求在v1.2.0中不起作用 – johowie

回答

1

只需添加这为答案,使这个问题停止出现无人接听。 OP发现升级到1.3(从1.2开始)解决了这个问题。