使用 Babel 打造 Node 開發環境
Node 在後端除了可提供 GraphQL API,如傳統 REST API、Cron Job 也可以由 Node 開發,本文使用 Babel + Node + Docker 打造開發環境。
失くすものさえない今が強くなるチャンスよ
Node 在後端除了可提供 GraphQL API,如傳統 REST API、Cron Job 也可以由 Node 開發,本文使用 Babel + Node + Docker 打造開發環境。
實務上難免會使用 async await
,若使用 Babel + Node,在 Development 環境沒事,但在 Production 環境會遇到 regeneratorRuntime
錯誤,這該怎麼解決呢 ?
Node 雖然支援大部分 ECMAScript 2015 語法,但更新的 ECMAScript 版本則不確定,且預設還是要使用 require()
與 CommonJS,若學 Frontend 使用 Babel,則 Apollo GraphQL 也能享受 ECMAScript 最新語法。
因 Nested Property 不存在而造成 Runtime Exception 是 ECMAScript 常見錯誤,過去會使用 ||
判斷,?.
則提供更精簡寫法,且語意更佳。
若要為 null
與 undefined
提供預設值,由於 null
與 undefined
也是 Falsy Value,過去會使用 ||
,但 Empty String 與 0
亦為 Falsy Value,因此可能會造成意想不到 Bug,且語意也不夠精確,??
提供了更精確的解決方案。
Pipeline Operator 是 ECMAScript 最受期待新功能,它將完全改變 ECMAScript 寫法,唯目前只是 Stage 1,只要在 Babel 另外安裝 Plugin,就可提早享受類似 F# 的 |>
。
Vue CLI 已經基於 Babel 建立,但 Apollo GraphQL 則使用原生 Node,本文將以 Vue Apollo + Apollo GraphQL + Babel 打造 GraphQL Fullstack 開發環境。