Node.js 从另一个文件夹启动Persevere,而不是安装在中

Node.js 从另一个文件夹启动Persevere,而不是安装在中,node.js,debugging,configuration,dojo,jsonreststore,Node.js,Debugging,Configuration,Dojo,Jsonreststore,我使用“npm安装persevere示例wiki”安装了Perserver,如这里所述。 从文件夹节点_modules/persevere example wiki启动服务器确实可以按指定方式工作。这是我请求的服务器日志 $ pwd PROJECT_ROOT/node_modules/persevere-example-wiki $ node index.js Listening on port 8282 persevere>createContext { id: 'Example',

我使用“npm安装persevere示例wiki”安装了Perserver,如这里所述。 从文件夹节点_modules/persevere example wiki启动服务器确实可以按指定方式工作。这是我请求的服务器日志

$ pwd
PROJECT_ROOT/node_modules/persevere-example-wiki
$ node index.js 
Listening on port 8282
persevere>createContext { id: 'Example',
  content: 'this is a test\n\n   and some other test',
  createdBy: 'admin',
  status: 'published',
  lastModifiedBy: 'qwe123' }
createContext public not found
error writing [object Object]TypeError: first argument must be a string or Buffer
但有几件事我不明白: 尽管我提供了正确的数据库凭据,数据库服务器中不会保存任何内容,但我输入到应用程序中的所有数据都只会以纯文本JSON文件的形式保存在“node_modules/persevere example wiki/data”文件夹中

如何从与node_模块/persevere示例wiki不同的文件夹启动persevere?我确信有一种方法可以配置路径,我想知道如何配置路径。我尝试将local.json复制到祖父母文件夹,并尝试从那里开始,但出现了更多错误:

$ node node_modules/persevere-example-wiki/index.js 

fs.js:427
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory 'data/User'
    at Object.fs.openSync (fs.js:427:18)
    at Object.exports.openSync (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/promised-io/fs.js:154:27)
    at initializeFile (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/perstore/store/memory.js:213:21)
    at store.setPath (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/perstore/store/memory.js:257:3)
    at Object.store.setPath (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/perstore/store/notifying.js:20:4)
    at Object.notifyingStore.setPath (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/perstore/store/replicated.js:16:20)
    at Object.facet.(anonymous function) [as setPath] (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/perstore/facet.js:719:37)
    at Object.security.getUserModel (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/pintura/security.js:88:15)
    at Function.Authentication (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/pintura/jsgi/auth.js:14:11)
    at JsgiApp (/home/bogdanbiv/WebstormProjects/life-tracker3/node_modules/persevere-example-wiki/node_modules/pintura/pintura.js:58:37)

现在,Persevere框架本身似乎过于复杂——或者可能只是文档问题。无论如何,有一个非常复杂的例子似乎不是一个好主意。通常,我更喜欢从较小的示例中构建。

使用
NODE\u PATH
环境变量添加
PROJECT\u ROOT/NODE\u modules/persevere示例wiki
作为搜索的默认目录:

   export NODE_PATH=$PROJECT_ROOT/node_modules/persevere-example-wiki
参考资料