我們正在考慮爲我們的下一個服務器端應用程序提供node.js。但我們不希望我們的客戶能夠查看我們的應用程序的代碼。我們能否以編譯的形式部署以node.js編寫的應用程序?如果是,那麼如何?以編譯的形式部署node.js
0
A
回答
3
也許你可以混淆所有的代碼......我知道這是不是像編譯,但至少,它會避免看代碼的客戶端的99%:d
這裏是另一個話題:How can I obfuscate (protect) JavaScript?
好運
2
我不相信這是可能的。我的意思是,從技術上講,我想你可以將所有東西都寫成本機C++擴展,但是這會破壞使用節點的目的。
1
如前所述,在Node.js中沒有真正的編譯,因爲nod可執行文件基本上編譯javascript代碼。
許多開發者使用谷歌的Closure Compiler這真的只是「再壓縮」 - 刪除註釋,空格,等等 - 「優化」 - 轉換JavaScript代碼來更有效的JavaScript。但是,由此產生的代碼通常仍然是可解析的JavaScript代碼(雖然很難閱讀!)。看看這個相關的流的更多信息:Getting closure-compiler and Node.js to play nice
幾個選項可能會有所幫助:
- 制定「專有」業務邏輯的自定義模塊並將其託管的安全服務器上
- 總結將「專有」業務邏輯轉換爲一個java類或可執行文件,該文件在Node中被稱爲外部進程。js
- 在由Node.js調用的單獨的應用程序服務器上提供「專有」業務邏輯作爲編譯的Web服務。
這是由你來定義你的應用程序的哪些部分應該被視爲「專有」,但作爲一般規則,我不會將HTML和相關的JavaScript分類 - 發送到我們的瀏覽器 - 作爲「專有」 。我的建議是在這裏謹慎。
最後,我發現了一個有趣的方法可能會有所幫助下面流,但它是相當先進的,可能是相當馬車:Secure distribution of NodeJS applications
希望幫助...
相關問題
- 1. F#編譯/部署
- 2. 編譯部署ASHX文件?
- 3. 試圖將node.js部署到Heroku:獲取編譯錯誤?
- 4. 編譯oracle形式
- 5. 用Jetty以編程方式部署servlet
- 6. 以編程方式部署Crystal Report?
- 7. 部署預編譯的網站項目
- 8. 以便攜式的USB形式部署R腳本
- 9. Capistrano的部署預編譯減少預編譯時
- 10. Node.js生產部署
- 11. Docker node.js Node.Js中的Ctrl + C部署
- 12. 的Node.js部署在openshift
- 13. Azure函數預編譯部署
- 14. Capistrano部署 - 資產預編譯錯誤
- 15. 在Xcode編譯應用程序部署
- 16. 部署時無法預編譯資產
- 17. GWT編譯每次我部署到Appengine
- 18. Heroku部署:Discourse Assets預編譯
- 19. IntelliJ IDEA:Maven,項目編譯和部署
- 20. 在VSTS上編譯和部署ruby
- 21. Bundler :: GemNotFound編譯cap部署資產
- 22. java gwt編譯部署緩慢
- 23. Matlab部署工具,微軟編譯器
- 24. ASP.net CS1061編譯錯誤部署
- 25. WindowsCE項目,編譯和部署
- 26. 編譯MVC和預編譯視圖並部署到Azure WebRole
- 27. 以JAR格式編譯Java編譯器?
- 28. 編譯少的Node.js和React.js
- 29. opa:使用node.js部署
- 30. Node.js C++擴展部署
你不能編譯javascript,afaik。混淆可能是唯一的方法。 – chovy