1

试图找出我无法浏览 mongodb 本机 nodejs 驱动程序的问题。我假设我的设置中有问题,因为我尝试使用谷歌搜索是否存在任何已知的当前与 MongoDB NodeJS 驱动程序和 browserify 的兼容性问题,但在尝试了几天后没有得出任何结论;(

在 browserify 上运行我的代码后,我得到一个

TypeError: require(...).native is not a function

我在驱动程序的 github 存储库中读到该驱动程序依赖于一些本机功能以及 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 和 let bc 我也用 babelify 对其进行了转换,但被删除了,所以只是简单的 browserify 会产生一些问题

我像这样跑

browserify simple.js -o browserified.js

如果有人能对此有所了解,我将不胜感激。

谢谢

4

1 回答 1

2

我在 MongoDB JIRA 服务器上创建了一个问题,并确认驱动程序截至今天未在浏览器中运行。当然,我并没有尝试在浏览器中运行它,而是在 Node 中运行它,但是正如我的朋友 @dvlsg 在我的问题的评论中指出的那样,浏览器化填充程序可能会对正确实现 MongoDB 驱动程序很重要。因此,如果您从今天起就在外面拉扯头发,请尝试一种解决方法,其中不包括将 mongodb 驱动程序与 browserify 捆绑在一起。

驱动程序维护人员确认他正在开发一个可以在浏览器中运行的版本,它可能会按照我需要的方式运行,但即使是 alpha 版本,它也没有准备好,希望如果你将来阅读这篇文章......

于 2016-05-02T00:47:55.983 回答