如何使用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是一个沙盒,用于在浏览器中高效、安全地运行编译的C和C++代码,独立于用户的操作系统。Portable Native Client以独立于体系结构的方式扩展了这项技术,允许开发人员一次性编译代码,以便在任何网站和任何体系结构上运行,并进行提前翻译(AOT)。
简言之,Native Client为现代web浏览器带来了本机代码的性能和低级别控制,同时又不牺牲web的安全性和可移植性。
https://developer.chrome.com/native-client
这在许多不同的方面都是可能的。
一种是使用node-webkit。
另一个是名为Edge的NPM包。这有点像节点.net之间的桥梁,或者更具体地说,是节点和clr进程之间的桥梁。您可以在clr进程中执行c#语句和加载程序集,并通过node和Edge在javascript中与之交互。
https://github.com/tjanczuk/edge
我认为更好的方式是使用API REST,例如,您可以在节点JS中创建服务器API,并使用AngularJS在浏览器中使用该服务,并为桌面应用使用JAVA或.NET
下面是一个使用Node和Angular 的简单示例
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- MobileFirst:在客户端运行计时器作业-最佳选项
- 使用浏览器在页面(客户端)上运行自定义JavaScript来模拟点击?怎么做
- 区分客户端运行的是OSX还是Windows
- 在客户端 Javascript 方法之后运行服务器方法
- AngularJS这样的开源Javascript是如何在客户端浏览器上运行的
- 仅当客户端连接到Meteor服务器时才运行代码
- 为什么可以't我得到连接客户端's的ip地址在我的服务器上运行Node.js+Openshift托管的W
- 假设:Meteor.call()首先尝试在客户端环境中运行,这是真的吗
- C#/ASP-web,ASP:在客户端执行复选框消息框,如果是,则运行服务器端代码
- 如何重新运行Meteor出版物以刷新客户端上收藏的内容
- 如何处理客户端运行的 JavaScript 中的意外值
- 由服务器初始化然后由客户端运行的时钟已延迟
- 如何使用Node.js在客户端运行可执行文件
- 使用AJAX将客户端运行时间记录到服务器日志文件中
- 从aspx.cs在客户端运行Windows应用程序
- 我如何在NodeJS应用程序的服务器端使用javascript库,当它被设计为在客户端运行时
- 从客户端运行的脚本更新服务器上的javascript变量
- 在 JavaScript 中加载表单数据并在客户端运行一些东西
- 通过独立浏览器客户端运行的实习生错过了这一点.远程套房