Node.js 使用MongoClient.connect()时出现saslprep警告
我正在编写NodeJS/express API,在连接到mongo服务器时遇到以下警告:Node.js 使用MongoClient.connect()时出现saslprep警告,node.js,mongodb,Node.js,Mongodb,我正在编写NodeJS/express API,在连接到mongo服务器时遇到以下警告: Warning: no saslprep library specified. Passwords will not be sanitized 在文档或github/google中未发现此警告-是缺少OS(linux)库还是节点包 这是连接代码示例: const client = await MongoClient.connect(`mongodb://${auth[0]}:${auth[1]}@${ur
Warning: no saslprep library specified. Passwords will not be sanitized
在文档或github/google中未发现此警告-是缺少OS(linux)库还是节点包
这是连接代码示例:
const client = await MongoClient.connect(`mongodb://${auth[0]}:${auth[1]}@${url}/admin`, {
useNewUrlParser: true
});
this.db = client.db(database);
我怎样才能摆脱它
其他信息:
Mongodb服务器:docker mongo:最新版本,目前已解析为4.0.4
mongodb库:3.1.9只需安装
saslprep
软件包,警告就会消失
mongodb
包查找saslprep
包,但在没有它的情况下工作;这是一个可选的依赖项
如果您查看mongodb源代码:
let saslprep;
try {
saslprep = require('saslprep');
} catch (e) {
后来:
if (!saslprep) {
console.warn('Warning: no saslprep library specified. Passwords will not be sanitized');
}
请在应用程序中使用此命令。这对我有用。希望对你有帮助
npm install saslprep --save
它对我不起作用,因为我使用webpack进行捆绑。对于Web包,您需要将saslprep另外添加到“externals”或显式导入。@metamaker Web包“externals”从绑定中排除依赖项,从而有效地将解析从绑定时移动到运行时。我认为您出现问题的原因可能是在这种情况下,webpack捕获了一些加载程序错误(如缺少模块)。请参阅以进行讨论。亲爱的Michael,我建议您检查saslprep源代码,以了解他们如何“创新地”使用“代码点”。mem“在发送报告之前检查require”。带有externals并包含来自外部webpack的saslprep的配方的工作原理与库实现导入的方式完全相同(请参阅)。库版本1.0.1及以下版本不存在此问题,该问题是在1.0.2中引入的,因此,对于1.0.1,从您的评论中获得的方式就足够了(即安装库)。谢谢。顺便说一句,StackOverflow上有一个重复的线程,它提供了带有外部和解释的解决方案,供感兴趣的人使用:。免责声明:我还没有发明解决方案。