當前正在學習製作關於ES6的文檔,我發現nodejs和babel都是使用新的es6特性和語法的方法,但真正的區別是什麼?在nodejs和babel上使用es6的差異
1
A
回答
3
Babel是一個轉錄庫。它需要ES6/7/Next代碼並將其編譯爲以前的標準。它允許你使用ES6,一些ES7和插件,這些東西還沒有正式成爲語言的一部分。 Babel通常用於轉換ES6 +代碼,以便它可以在瀏覽器中運行,其中許多仍然廣泛使用的僅支持ES5。
節點是服務器端JavaScript運行時,雖然您可以使用節點來運行babel'd代碼(它只是javascript!),但您並不需要作爲節點自己理解ES6。
「我該用哪個?」的基本答案在瀏覽器中是Babel,服務器上是Node。
1
- 巴貝爾可以用來製造ES6代碼工作在不 支持ES6儘可能節點做瀏覽器,
- 不是每個項目支持最新版本的節點,巴貝爾可以編譯代碼,這樣它在較舊版本的節點
1
- 是的NodeJS一個JavaScript的運行環境,在Chrome的V8引擎構建的。它本質上理解現代JavaScript。
- babel是一個polyfill庫,允許較舊的瀏覽器(或甚至較舊版本的nodejs)通過將較新的語法「翻譯」爲其較早的等效語言來運行現代JavaScript語法(ES6)。
相關問題
- 1. Babel無法使用ES6/Parser.pp.raise
- 2. 如何在coffeescript和ES6/ES2015上使用jest(例如通過Babel)?
- 3. 和的NodeJS差異Expressjs
- 4. 差異的NodeJS
- 5. typescript + babel + es6
- 6. 在NodeJS中使用es6 Promise
- 7. NodeJS差異請求的差異響應
- 8. 在browserify和babel下面使用ES6編譯問題反應JavaScript
- 9. componentDidUpdate prevProps在使用es6和Babel時顯示新值
- 10. 使用WebStorm配置babel使用ES6和WebStorm Node.js項目
- 11. 帶ES6模塊的babel-jest
- 12. 與Angular,Babel(ES6),Webpack和Mocha建立Karma
- 13. Nodejs中的時間差異?
- 14. 如何將webpack babel-loader和es6與worker-loader一起使用?
- 15. 使用Webpack和Babel加載ES6模塊問題
- 16. 使用Webpack和Babel將ES6轉換爲AMD
- 17. 使用es6和babel-node從根目錄導入節點模塊
- 18. babel relay插件 - es6配置
- 19. 多個package.jsons與ES6 Babel
- 20. Babel + Webpack不會執行ES6
- 21. 如何讓Babel在使用Rollup Babel插件時忽略es6導入?
- 22. 的Javascript ES6差()=>()和()=> {}
- 23. NodeJS差異Object.keys(array).length和array.length
- 24. 無法在Babel中使用es6`file``的導出模塊
- 25. JS:在客戶端啓用導出/導入(ES6或使用babel)?
- 26. 如何配置Webpack和Babel以在一個項目中使用ES5和ES6
- 27. 用ES6(Babel)導出一個類
- 28. Promise.all安裝在babel ES6中實現
- 29. WAV格式差異(JS/NodeJS)
- 30. 使用babel將es6轉換爲es5然後使用Browserify捆綁
你有沒有關於它的文檔(比較)?人們何時應該使用babel或節點? –
這裏沒有真正的比較。其中之一是運行時環境,另一個是圖書館。沒有人必須選擇 - 或者,他們都可以共同生活。當人們想用javascript構建應用程序時,人們使用節點。當他們(或他們的用戶)的javascript編譯器/環境不是最新的時候,人們使用babel。 – AVAVT