我创建了一个ArangoDB Foxx服务,并使用Foxx CLI成功地将其安装在某个路由上。我的服务有一个依赖项,它使用randombytes。当我调用该服务时,它返回一个错误,说'randomBytes不是一个函数。出于测试的目的,我创建了另一个服务,并返回了typeof require('randombytes')。在安装Foxx CLI没有警告我任何东西。有人有过这样的经历吗?
randombytes
typeof require('randombytes')
k75qkfdt1#
首先,是否在package.json依赖项中定义了randombytes模块?
{ "private": true, "dependencies": { "randombytes": "2.1.0" } }
那怎么办
let randombytes = require('randombytes'); console.log(randomBytes(16));
实际上,我刚刚测试了...它也返回了“undefined”...所以不确定它是否是arango的有效模块。最好用arango的加密方法https://www.arangodb.com/docs/stable/appendix-java-script-modules-crypto.html#genrandomnumbers
bq3bfh9z2#
我不认为Foxx会提醒你缺少依赖项,但在安装服务/应用程序之前,确保它们包含在ZIP包中是很重要的。我的项目是这样组织的:
MyProject |-- foxx |-- service1 |-- service2 ...
我在项目的根目录以及每个“service”文件夹中都有一个package.json文件,我的工作流(make)在创建ZIP存档之前会在每个“service”文件夹中运行npm install。只要确保包括node_modules文件夹,所有人都应该很高兴。
package.json
npm install
node_modules
2条答案
按热度按时间k75qkfdt1#
首先,是否在package.json依赖项中定义了randombytes模块?
那怎么办
实际上,我刚刚测试了...它也返回了“undefined”...所以不确定它是否是arango的有效模块。
最好用arango的加密方法
https://www.arangodb.com/docs/stable/appendix-java-script-modules-crypto.html#genrandomnumbers
bq3bfh9z2#
我不认为Foxx会提醒你缺少依赖项,但在安装服务/应用程序之前,确保它们包含在ZIP包中是很重要的。
我的项目是这样组织的:
我在项目的根目录以及每个“service”文件夹中都有一个
package.json
文件,我的工作流(make)在创建ZIP存档之前会在每个“service”文件夹中运行npm install
。只要确保包括
node_modules
文件夹,所有人都应该很高兴。