在本月21日,即2019.11.21,Node.js發布了13.2.0版本,更新了一些特性。其中最令人興奮的莫過於正式取消了--experimental-modules啟動參數。這說明Node.js正式支持ESmodules。我們一起來看看。
StabilityIndex說明
StabilityIndex,即Api的穩定指數說明。它包括3個值:
Stability:2,穩定版。表示已經試驗完成,基本不會再發生改動,可以再生產環境中使用。
Unflag--experimental-modules
在13.2.0的版本中,node默認情況下會啟用對ECMAScript模塊的實驗支持,也就是不需要啟動參數了。那麼nodejs是如何區分esm和commonjs的呢?這裡翻譯一下官方文檔。Node.js會將把以下內容視為ES模塊:
其他情況下,都會被識別為commonjs。現在node已經支持esm和commonjs了,我們在使用的時候,最好還是指定一下模塊。
舉個例子
這種情況,根據文件後綴按不同模塊處理。
當前目錄下,或者上級目錄中的package.json含有"type":"module"時,該模塊會被當作ESModule。
如上圖注釋所示,如果當前文件目錄不包含package.json,則會看其父級目錄的package.json文件,然後判斷type類型。
這裡就是使用傳遞字符參數給--eval,添加--input-type啟動參數的情況。
快速體驗
目前13.2.0版本的官方文檔對ESModule的標記是Stability:1,你已經可以安裝新版本來試驗啦。相信在社區的共同努力下,很快就會進入Stability:2正式穩定版了。
本地開發的時候,經常需要快速更新或切換不同的node版本。可以使用nvm、n等方案,還有一個跨平台的本地管理方案就是nvs。都可以選擇使用,這裡我舉的例子,就是使用nvs:
趕緊嘗試一下吧~
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持小編。
文章來源: https://twgreatdaily.com/zh-cn/f5A9B28BMH2_cNUglEhK.html