さまざまなcouchdbビューマップ関数で使用したい関数がたくさんあります. commonjs の require パターンを使用しようとしています。
次の設計ドキュメントを使用すると、test1 の require ステートメントが機能するのに、test2 の require ステートメントが機能しないように見えるのはなぜですか?
他にどのように複数のouchdbビューで関数を再利用できますか?
{
"_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 }"
}
}
}
詳細情報: 現在、プロジェクトの src ディレクトリからの設計ドキュメントのアップロードを管理するために「grunt-couchapp」プラグインを使用しています。