【问题标题】:Cannot find module 'mongodb-client-encryption'找不到模块“mongodb-client-encryption”
【发布时间】:2019-10-06 14:27:04
【问题描述】:

我有一个 script.js 文件,需要 mongodb 模块,当我想用​​浏览器运行它时,它说 require 没有定义。所以,我使用 npm 安装了browserify,但是当我想使用它browserify script.js -o all.js -d,我得到一个错误:

错误:找不到模块 'mongodb-client-encryption' 来自 'C:\Users\User\Desktop\browserify\node_modules\mongodb\lib\operations'

【问题讨论】:

  • npm install mongodb-client-encryption安装缺少的模块

标签: node.js mongodb browserify


【解决方案1】:

根据评论,您需要安装mongodb-client-encryption 模块。这是libmongocrypt 的 Node.JS 包装器。

npm install mongodb-client-encryption

如果您看到与此模块相关的错误消息,即:

TypeError: encryption.createDataKey is not a function

查看模块导入行,应该是:

const mongodb = require('mongodb');
const { ClientEncryption } = require('mongodb-client-encryption');
const { MongoClient } = require('mongodb');

另见:

【讨论】:

  • 在 require('mongodb-client-encryption')(MongoDB) 中作为参数传递的 MongoDB 是什么?
  • @Kapil 更新了上面的代码 sn-p。应该是 mongodb 导入。
  • 谢谢。似乎软件包已更新,现在 const { ClientEncryption } = require('mongodb-client-encryption') 可以工作,并且现在不希望将 MongoDB 作为参数传递。
猜你喜欢
  • 2016-09-02
  • 2016-09-05
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
  • 2014-04-11
  • 2021-11-18
  • 1970-01-01
相关资源
最近更新 更多