簡體   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