【问题标题】:How to bind nodejs with my application?如何将 nodejs 与我的应用程序绑定?
【发布时间】:2013-08-26 03:20:34
【问题描述】:

我有一个使用Chromium Embedded Framework (CEF) 的项目。我只在我的项目中使用 chromium_dll_wrapper_project。我已经使用它绑定了某些 javascript 函数。我现在正在尝试实现文件系统。

由于 nodejs 是在 V8 上构建的如此出色的 i/o 框架,CEF 背后的引擎相同,我能否以某种方式将 nodejs 与我的应用程序绑定,以便我可以使用我的应用程序而不是运行 node.js 来访问 nodejs 异步文件系统模块。执行。

我想要的是,当我处理任何 javascript 并且如果它有 nodejs 代码时,它会运行吗? 我应该采取什么方法来做到这一点?

【问题讨论】:

  • 我发现appjs使用了nodejs和cef。它是怎么做到的?
  • 有几个这样的选项。请参阅:Executing JavaScript Outside of the Browser, Cross Platform。每个都采用不同的方法。有关他们如何做到这一点的信息,请参阅各自的文档。
  • @dc5 我试图找到文档但找不到。你能帮我解决这个问题吗?

标签: node.js v8 chromium-embedded


【解决方案1】:

编辑:感谢您澄清您的问题。我会看看我是否可以澄清我的答案。

CEF 非常适合将浏览器作为控件放入表单中。与其他浏览器一样,此控件可以连接到服务器。然后服务器确定浏览器中显示的内容。

考虑到这一点,您似乎希望在服务器端进行文件访问。听起来像启动 node.exe 并将其指向您想要使用的文件是最好的解决方案。我知道您已经放弃了这个解决方案,因为您现在有两个流程。

作为替代解决方案,也许包含 CEF 控件的应用可以访问文件并将内容写入 CEF 控件。

最终听起来您需要更清楚地区分应用程序的功能和它所连接的服务器的功能 - 即使该“服务器”在同一台机器上运行。

【讨论】:

  • 通过引用模块 javascript 您是指添加到我的 html 文件 fs.js 中,它是 nodejs 的文件系统模块?
  • 也许我误解了这个问题。您是否要运行异步模块?如果是这样,只需添加对从 npm 下载的 node_modules 中的内容的引用。
  • 只是好奇,异步模块需要由 nodejs 实现的事件处理 i/o 系统。它是怎么得到的?
  • 你在关注async (github.com/caolan/async) 吗?或者你是专门在文件系统加载之后?仅使用 CEF 与服务器通信并让服务器加载必要的内容可能是最明智的。
  • Cef 用于放置浏览器,在该浏览器中我运行我的 javascript、HTML、CSS。我的 javascript 有 nodejs 文件读取和写入函数调用。如何让它们发挥作用?
【解决方案2】:

我想你在找CEFODE:

cefode 项目是 CEF 的一个特殊构建,旨在提供 CEF 用户的节点 API,因此您可以轻松地将本机功能添加到他们的 现有的基于 CEF 的项目,无需编写本机 C++ 绑定。那里 也没有对 CEF 的 API 进行任何更改,因此节点 API 只是免费提供的 重新链接到cefode生成的CEF库后。

【讨论】:

    猜你喜欢
    • 2020-11-25
    • 1970-01-01
    • 2018-05-05
    • 2011-01-07
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 2014-11-05
    • 2019-09-27
    相关资源
    最近更新 更多