簡體   English   中英

ArangoDB Foxx:require() 返回未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM