繁体   English   中英

如何使用Node.js在客户端运行可执行文件?

[英]How to run an executable on client-side using Node.js?

有没有办法在客户端调用外部程序并与之“交谈”?

例如,如果我有一个Node.js服务于AngularJS或任何其他框架,我希望用户按下浏览器上的按钮,客户端上的先前安装的程序开始运行并向客户端发送一些消息。 ..

我能做到吗?

如果没有明确的配置,浏览器无法在本地计算机上运行可执行文件,因为这样的行为会违反安全限制。

Node.js可以执行运行它的环境(例如用户权限)所允许的任何事情。 请参阅: https//nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback

考虑使用Native Client

Native Client是一个沙箱,用于高效安全地在浏览器中运行已编译的C和C ++代码,与用户的操作系统无关。 Portable Native Client通过架构独立性扩展了该技术,允许开发人员编译其代码一次,以便在任何网站和任何具有提前(AOT)转换的架构上运行。

简而言之,Native Client将本机代码的性能和低级控制带到现代Web浏览器,而不会牺牲Web的安全性和可移植性。

https://developer.chrome.com/native-client

我认为更好的形式是使用API​​ REST,您可以在节点JS中创建服务器API,例如使用AngularJS在浏览器中使用该服务,在桌面应用程序中使用JAVA或.NET

以下是使用Node和Angular的简单示例

这可以通过许多不同方式确定。

一种是使用节点webkit。

另一个是名为Edge的NPM软件包。 这有点像节点a .net之间的桥梁。 或者更具体地说是节点和clr进程。 您可以在clr进程中执行c#语句并加载程序集,并通过node和Edge在javascript中与它进行交互。

https://github.com/tjanczuk/edge

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM