从couchdb向客户端提供lib/serverSide_library.js
我有一个javascript文件,需要在服务器端和客户端之间共享 背景: 该文件包含验证代码,我想将其用于客户端和服务器端验证(因此两者保持同步),我还需要客户端上的库来执行浏览器单元测试 我用的是couchapp 总结: 如何向客户端提供服务器端javascript文件?添加从couchdb向客户端提供lib/serverSide_library.js,couchdb,Couchdb,我有一个javascript文件,需要在服务器端和客户端之间共享 背景: 该文件包含验证代码,我想将其用于客户端和服务器端验证(因此两者保持同步),我还需要客户端上的库来执行浏览器单元测试 我用的是couchapp 总结: 如何向客户端提供服务器端javascript文件?添加 { "include_design": "true" } 到couchapp根目录中的options.json 然后视图可以包含设计文档,您必须编辑现有视图,使其不发出设计文档 然后添加的views/desig
{
"include_design": "true"
}
到couchapp根目录中的options.json
然后视图可以包含设计文档,您必须编辑现有视图,使其不发出设计文档
然后添加的views/design/map.js
function(doc) {
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (sub){
var self=this;
return self.substring(0, sub.length) === sub;
}
};
var id = doc._id;
if (id.startsWith( "_design/")){
emit(null, null); // use query `include_docs=true`
}
}
然后你可以写一个类似的列表
function (head, req) {
var ddoc = this;
var dir=req.query["~dir"];
var name=req.query["~name"];
var Result="";
function process(row){
if (row.doc) {
Result = row.doc[dir][name];
}
}
function mainLoop(){
while (row = getRow() ) {
process(row);
}
}
mainLoop();
send( Result);
}
重写
{
"from": "server_lib/:~name",
"to": "_list/sub/design",
"query": {
"~dir": "lib",
"include_docs": "true"
}
}
注意:我试图对“~path”:[“lib”、“:~name”]、“include…”
进行查询,但couchdb中似乎存在不一致性(),列表仅适用于键查询(这是couchdb中处理不同键的代码)