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