我对pouchdb和nw.js很陌生,也许这个问题有点太简单了(对不起,我的无知)。
我试图通过require()在nw.js项目中使用pouchdb,但没有成功。
根据pouchdb 设置的文档,在Node.js部分下,我完全按照它说的做了,但没有成功。
之后,我在项目中安装了调平组件,并遵循了https://github.com/nolanlawson/pouchdb-nw github项目下的以下说明。
因此,在这一点上,我已经做了以下工作:
nw-gyp配置-target=0.12.3/在节点_模块/水准目录中 nw-gyp构建
然后,根据pouchdb.com/guides/databases.html,我有:
var PouchDB = require('pouchdb');
var db = new PouchDB('kittens');但又一次没有运气。此外,通过运行以下命令:
db.info().then(function (info) {console.log(info); });
没有得到任何回应。
注意:如果将这个<script src="../node_modules/pouchdb/dist/pouchdb.min.js"></script>包含在index.html文件中,一切都会像魅力一样工作。
nw.js版本: 0.12.3 / pouchdb版本: 5.2.1
我遗漏了什么?
发布于 2016-03-07 17:26:28
最后,我找到了解决问题的有效办法。
解决办法如下:
1)我将pouchDB更新为5.3.0
npm更新pouchdb --保存
2)然后导航到节点_模块/降级
cd节点模块/调平
3)用nw.js目标版本配置gyp
sudo nw-gyp配置-target=0.12.3
( 4)重建北西体育馆
nw-gyp构建
5)然后在我的javascript模块文件中
var PouchDB = require('pouchdb');
var arincPouchDB = new PouchDB('./db/arincAirports'); // new pouch db for node without adapter // means you get leveldb adapter in this case.
var jsonData = require("../datasrc/output/data.json");
arincPouchDB.bulkDocs(jsonData);
arincPouchDB.info().then(function (info) {
console.log(info);
});控制台上说..。
Objectadapter: "leveldb"
auto_compaction: false
backend_adapter:"LevelDOWN"
db_name: "./db/arincAirports"doc_count: 12
update_seq: 12
__proto__: Object...注释:如果您尝试使用html文件中的脚本标记中的pouchDB,同时又必须在javascript函数中使用它,该函数将通过模块导出导出。
exports.pouchDBFunction = new pouchDBFunction();在另一个javascript文件中使用此导出函数,如下所示
var json2PouchDB = require("./js/pouchDBFunction.js");
json2PouchDB.pouchDBFunction;将无法工作,您将得到错误pouchdb是没有定义的。这就是为什么您需要使用pouchDB ()函数。
希望这个解决办法能帮上忙。
发布于 2016-03-07 14:40:24
您试过这个演示吗?https://github.com/nolanlawson/pouchdb-nw-hello-world,在NW.JS中正确安装PouchDB有很多步骤。
编辑:哦,等等,是的,你已经看过演示了。也许问题是LevelDOWN与您的NW版本不兼容?在我的演示中,我使用了比您更早的NW版本。
另一种选择是在Node内部使用websql适配器,这将使您具有与LevelDB相似的性能,同时可能比LevelDOWN更容易编译。如果所有这些都失败了,我建议在LevelDOWN回购系统上提交一个问题;它们涉及到在Z操作系统上为Y架构构建X版本Node的大量问题,因此您的XYZ组合可能是唯一的。
https://stackoverflow.com/questions/35633541
复制相似问题