我只使用nodejs作爲服務器端微服務,我想使用ES6,我已經讀過Babel用於將代碼轉換爲ES5以提供對瀏覽器的支持。所以我需要知道,如果我不是爲客戶端編寫此代碼,我是否仍需要將其編譯爲在V8引擎上運行它?或者它只是一個額外的層,這將不需要在服務器端?我應該使用ES6傳輸我的節點js代碼嗎?
2
A
回答
2
如果您的服務器在新版本的Node.js上工作,並且它支持ES6功能,則不需要傳輸代碼。如果代碼託管在一個地方,您的代碼只能在同一個地方工作。
使用轉譯器時,當您的代碼使用新版本編寫時,可能會有使用舊版本Javascript的瀏覽器的用戶。所以瀏覽器需要從宿主位置獲取JS代碼並在本地運行,這可能會導致錯誤。在這種情況下,你需要使用編譯器。
0
如果您僅將代碼作爲微服務使用,則不需要進行轉發。所有最新版本的Node.js默認支持es6。您可以參考這裏的目的ES6特徵的詳細信息目前由節點
4
你需要使用一個transpiler如果你運行時不支持您所使用的語言功能的支持。
最新版本的Node.js有almost complete support for ES6。
如果您使用的功能不受您使用的任何版本的Node.js支持,您將需要使用轉譯器。
-1
我建議直接在最新的nodejs中使用es es/es7。 現在最新的nodejs幾乎支持除導入/導出以外的大多數功能。
如果是這樣,你可以使用箭頭功能,異步等待等,這可以使你的代碼更清晰。
相關問題
- 1. 我應該用ES6構建一個節點模塊嗎
- 2. 我應該在ES6節點項目中使用多少承諾?
- 3. 我該如何訪問我的節點js應用程序?
- 4. 我應該在我的PHP代碼中使用assert嗎?
- 5. 適應我的js代碼的輸入
- 6. 我應該在自定義函數中使用回調模式嗎?節點JS
- 7. 我應該使用Umbraco中的INode或節點嗎?
- 8. 我應該使用ECMAscript2015的.es6文件擴展名嗎?
- 9. XML節點模板 - 我應該使用XSLT嗎?
- 10. 我應該在節點Sequelize中使用crateTable()或sync()嗎?
- 11. 我應該重構這段代碼嗎?
- 12. 我應該使用類型代碼的接口嗎?
- 13. 我應該在生產代碼中使用Google的JSAPI嗎?
- 14. 我應該在自己的非LINQ代碼中使用DuplicateKeyException嗎?
- 15. 我應該使用沒有servlet的代碼嗎?
- 16. 如何將ES6節點和jsx代碼編譯爲ES5 vanilla JS
- 17. 我應該使用相同的VBO來傳遞不同的頂點屬性嗎?或者我應該使用2?
- 18. 我應該需要什麼節點JS標準輸入和標準輸出
- 19. 我應該在節點中使用什麼範圍來定製錯誤代碼?
- 20. 我應該使用AJAX嗎?
- 21. 我應該使用document.writeln嗎?
- 22. 我應該使用convertView嗎?
- 23. 我應該使用node.js嗎?
- 24. 我應該使用NHibernate嗎?
- 25. 我應該使用Hadoop嗎?
- 26. 我應該使用Zend_Auth嗎?
- 27. 我應該使用mahout嗎?
- 28. 我應該使用Subversion嗎?
- 29. 我應該使用JAI嗎?
- 30. 我應該使用CRUD嗎?
沒有使用ES7可能是要走的路。如果兩個人都能說英語,你爲什麼會和鄰居說西班牙語? –
如果您使用的是ES模塊(即ES6),則仍然需要進行轉儲。另外,你調用'ES6'的東西可能包含由Babel自然轉換但不受Node/V8支持的功能。 – estus