首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带电子的Neo4j官方javascript驱动

带电子的Neo4j官方javascript驱动
EN

Stack Overflow用户
提问于 2016-05-26 23:47:13
回答 2查看 796关注 0票数 1

我试图使用电子和Neo4j官方npm打包驱动程序为Neo4j创建一个示例演示应用程序,我的代码非常基础,但一旦我试图打开一个会话,我就会得到一个错误。这段代码是在脚本标记中的index.html中编写的:

代码语言:javascript
复制
require('./renderer.js')
var neo4j = require('neo4j-driver').v1;

var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "neo4j"));

var session = driver.session();

在最后一次调用时,这是我在控制台得到的错误消息:

代码语言:javascript
复制
Uncaught Error: Don't know how to send buffer: NodeBuffer( position=0 )60 60 b0 17 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 

有没有人遇到过这样的问题?

EN

回答 2

Stack Overflow用户

发布于 2016-05-27 00:41:32

我已经创建了一个使用电子和Vuejs的应用程序,非常简单,它运行一个简单的密码查询和打印到浏览器。

首先,您需要将脚本作为web浏览器资源:

代码语言:javascript
复制
<script type="text/javascript" src="static/neo4j-web.js"></script>

这在未来将会改变,neo4j意识到了这一点

其次,此资源需要在您的资产中,或者您可以使用neo4j cdn

然后我就可以通过全局导入使用neo4j了:

代码语言:javascript
复制
var driver = global.neo4j.v1.driver('bolt://localhost')
        var session = driver.session()
        session.run('CREATE (n:Electron) RETURN n')
          .subscribe({
            onNext: function (record) {
              console.log(record._fields)
            },
            onCompleted: function () {
              session.close()
            },
            onError: function (error) {
              console.log(error)
            }
          })

第三件事你需要在你的webpack配置中允许neo4j外部变量:

代码语言:javascript
复制
externals: {
  'neo4j': 'neo4j'
  }

你可以在这里看到我的回购:https://github.com/ikwattro/electron-vue-test

正如我所说的,这是一个很好的世界,但它正在工作。

票数 1
EN

Stack Overflow用户

发布于 2016-10-19 14:35:34

问题似乎是驱动程序检测到它正在浏览器中运行,并尝试使用websocket通道。

您可以通过更改以下内容来“强制”驱动程序使用节点通道:

代码语言:javascript
复制
var Channel = undefined;
if (_chWebsocket2["default"].available) {
  Channel = _chWebsocket2["default"].channel;
} else if (_chNode2["default"].available) {
  Channel = _chNode2["default"].channel;
} else {
  throw (0, _error.newError)("Fatal: No compatible transport available. Need to run on a platform with the WebSocket API.");
}

代码语言:javascript
复制
var Channel = undefined;
Channel = _chNode.channel;

在此文件中:

https://github.com/neo4j/neo4j-javascript-driver/blob/1.1/lib/v1/internal/connector.js#L64

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37465563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档