[英]ArangoDB Foxx: require() returned undefined
我创建了一个 ArangoDB Foxx 服务,并使用 Foxx CLI 成功地将它挂载到某个路由上。 我的服务有一个使用randombytes
的依赖randombytes
。 当我调用该服务时,它返回一个错误,指出`randomBytes 不是一个函数。
出于测试目的,我创建了另一个服务并返回typeof require('randombytes')
。 它返回了undefined
。
在安装过程中 Foxx CLI 没有警告我任何东西。
有没有人有过这样的经历?
首先,您是否在 package.json 依赖项中定义了 randombytes 模块?
{
"private": true,
"dependencies": {
"randombytes": "2.1.0"
}
}
然后呢
let randombytes = require('randombytes');
console.log(randomBytes(16));
实际上我刚刚测试过……它也返回“未定义”……所以不确定它是否是 arango 的有效模块。
最好使用 arango 的加密方法
https://www.arangodb.com/docs/stable/appendix-java-script-modules-crypto.html#genrandomnumbers
我不认为 Foxx 会提醒您缺少依赖项,但在安装服务/应用程序之前确保它们包含在您的 ZIP 包中很重要。
我的项目是这样组织的:
MyProject
|-- foxx
|-- service1
|-- service2
...
我在项目的根目录以及每个“服务”文件夹中有一个package.json
文件。 在创建 ZIP 存档之前,我的工作流程 (make) 在每个“服务”文件夹中运行npm install
。
只要确保包含node_modules
文件夹,一切都会很愉快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.