试图弄清楚我可以浏览mongodb native nodejs驱动程序的问题是什么。我假设我的设置中出现了问题,因为我尝试使用谷歌搜索,如果MongoDB NodeJS驱动程序和浏览器有任何已知的当前兼容性问题,但几天后尝试没有结论;(
在browserify上运行我的代码后,我得到了一个
TypeError: require(...).native is not a function
我在驱动程序的github repo上读到这个驱动程序依赖于某些本机功能以及kerberos和node-gyp。我在我的机器上安装了驱动程序没有任何问题npm install mongodb --save所以我不知道是否可能是这种情况。
我没有调试想法,所以我转向了受祝福的SO社区 :)
我正在使用无服务器框架为AWS Lambda开发(因此,我担心如果驱动程序实际上在Lambda实例上运行,因为驱动程序需要一些本机功能......)。这是我的测试代码
var MongoClient = require('mongodb').MongoClient;
var x = "Hello NodeJS";
console.log(x);
MongoClient.connect("mongodb://localhost:27017/test", (err, db) => {
console.log("Error null? " + (err == null ? "YES" : "NO"));
console.log("DB null? " + (db == null ? "YES" : "NO"));
});
我正在使用一些ES6语法,例如import,让bc在我的原始代码中我也用babelify转换它但删除了,所以只是普通的browserify产生了一些问题
我像
一样运行它browserify simple.js -o browserified.js
如果有人可以了解这一点,我会很感激。
由于
答案 0 :(得分:1)
我在MongoDB JIRA服务器上创建了一个问题,我确认今天的驱动程序没有在浏览器中运行。当然,我并没有尝试在浏览器中运行它,而是在Node中运行它,但正如我的朋友@dvlsg在我的问题的评论中指出的那样,浏览器可能会重新填充一些对于正确实现MongoDB驱动程序很重要的东西。因此,如果你今天在那里拔掉你的头发,尝试一种解决方法,不包括使用browserify捆绑mongodb驱动程序。
驱动程序维护者确认他正在开发一个可以在浏览器中运行的版本,它可能会按照我需要的方式工作,但即使是alpha发布也没有准备好,希望如果您将来阅读它。