我正在尝试使用公钥加密 ( tweetnacl ) 来验证文档。我知道you can add commonjs modules验证功能但未能成功。
{
"_id": "_design/validate_update",
"language": "javascript",
"validate_doc_update":
"function(newDoc, oldDoc, userCtx){
verify=require('lib/validation').sign.detached.verify;
if(verify(newDoc.message, new.Doc.signature, oldDoc.publicKey)){
return true;
}
}",
"lib": {
"validation": "exports.nacl=(function(nacl){..... })"
}
}
当我这样做时,我收到错误:
Module require('lib/validation') raised error (new TypeError("func.apply is not a function", "/usr/local/share/couchdb/server/main.js", 1181))
我想我必须以某种方式更改 tweetnacl 代码才能将其解释为 commonjs 模块?
似乎 NaCl lib 作为 commonjs 模块的初始化失败,因为它是一个匿名函数 - 尝试将 NaCl exports
作为上下文:
"lib": {
"validation": "(function(nacl){..... })(exports)"
}
我是一名优秀的程序员,十分优秀!