老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

淺談Node新版本13.2.0正式支持ESModules特性

在本月 21 日,即2019.11.21,Node.js 發布了 13.2.0 版本,更新了一些特性。其中最令人興奮的莫過于正式取消了 --experimental-modules 啟動參數。這說明Node.js 正式支持 ES modules。我們一起來看看。

成都創新互聯2013年開創至今,先為黃陵等服務建站,黃陵等地企業,進行企業商務咨詢服務。為黃陵企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

Stability Index說明

Stability Index,即 Api 的穩定指數說明。它包括3個值:

  1. Stability: 0 ,不推薦使用。表示該Api官方不推薦使用,該功能可能會發出警告。不能保證向后兼容。
  2. Stability: 1,實驗性的。表示該Api已經支持使用性使用。但是在將來的任何發行版中都可能發生非向后兼容的更改或刪除。不建議在生產環境中使用該功能。

Stability: 2,穩定版。表示已經試驗完成,基本不會再發生改動,可以再生產環境中使用。

Unflag --experimental-modules

在 13.2.0的版本中,node 默認情況下會啟用對ECMAScript模塊的實驗支持,也就是不需要啟動參數了。那么nodejs是如何區分 esm 和 commonjs 的呢?這里翻譯一下官方文檔。
Node.js會將把以下內容視為ES模塊:

  • 文件后綴為.mjs
  • 當文件后綴為.js,或者無文件后綴時,看其package.json文件,package.json 中 type 字段值為 "module"
  • 啟動參數添加 —-input-type=module
  • 使用傳遞字符參數給--eval,如$ node --eval 'import("http");

其他情況下,都會被識別為 commonjs。現在node已經支持esm和commonjs了,我們在使用的時候,最好還是指定一下模塊。

舉個例子🌰

import './legacy-file.cjs';
// Loaded as CommonJS since .cjs is always loaded as CommonJS.

import 'commonjs-package/src/index.mjs';
// Loaded as ES module since .mjs is always loaded as ES module.

這種情況,根據文件后綴按不同模塊處理。

// package.json
{
 "type": "module"
}

當前目錄下,或者上級目錄中的package.json含有"type": "module"時,該模塊會被當作ES Module。

// my-app.js, in an ES module package scope because there is a package.json
// file in the same folder with "type": "module".

import './startup/init.js';
// Loaded as ES module since ./startup contains no package.json file,
// and therefore inherits the ES module package scope from one level up.

import 'commonjs-package';
// Loaded as CommonJS since ./node_modules/commonjs-package/package.json
// lacks a "type" field or contains "type": "commonjs".

import './node_modules/commonjs-package/index.js';
// Loaded as CommonJS since ./node_modules/commonjs-package/package.json
// lacks a "type" field or contains "type": "commonjs".

如上圖注釋所示,如果當前文件目錄不包含package.json,則會看其父級目錄的package.json文件,然后判斷type類型。

node --input-type=module --eval "import { sep } from 'path'; console.log(sep);"
echo "import { sep } from 'path'; console.log(sep);" | node --input-type=module

這里就是使用傳遞字符參數給--eval,添加 --input-type啟動參數的情況。

快速體驗

目前13.2.0版本的官方文檔對ES Module的標記是 Stability: 1,你已經可以安裝新版本來試驗啦。相信在社區的共同努力下,很快就會進入 Stability: 2 正式穩定版了。

本地開發的時候,經常需要快速更新或切換不同的node版本??梢允褂?nvm、n 等方案,還有一個跨平臺的本地管理方案就是 nvs。都可以選擇使用,這里我舉的例子,就是使用 nvs:

$ nvs add node/13.2.0
$ nvs use 13.2.0
$ node -v
13.2.0

趕緊嘗試一下吧~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創新互聯。


當前題目:淺談Node新版本13.2.0正式支持ESModules特性
當前路徑:http://www.xueling.net.cn/article/pgpeje.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲成片在线观看 | 亚洲欧美乱综合图片区小说区 | 91一区二区三区久久久久国产乱 | 国产亚洲99影院 | 国内精品一区二区三区在线观看 | 6969精品视频在线观看 | AV狠狠色丁香婷婷综合久久 | xxxx18野外xxxxfreexxxx日本 | 我爱激情网 | 欧美一级片在线观看 | 国模少妇一区二区三区 | 亚洲ΑV在线观看天堂无码 国产97成人亚洲综合在线观看 | 大地资源网高清视频怎么在线 | 五十六十日本老熟妇乱 | 一级片视频在线观看 | 欧美xxxx黑人又粗又长密月 | 麻豆freexxxx性91精品 | 国产一区二区日本欧美精品久久久 | 少妇被粗大的猛烈进出va视频 | 中文字幕Va一区二区三区 | av小说图片 | 国产性猛交粗暴力xxxx | 国产自偷在线拍精品热乐播AV | av在线免费播放网址 | av免费播放网址 | 性爱在线免费视频 | 亚洲cb精品一区二区三区 | 久久久亚洲蜜桃 | 99视频免费 | 麻豆一级 | 日本久久久久久久久久久 | 人妻熟女一区二区AV | 99久视频 | 亚洲成AV人无码综合在线观看 | 久久精品国产a三级三级三级 | 国产免费亚洲 | 亚洲中文无码A∨在线观看 呦女人与动人物A级毛片 | 国产亚洲精品久久久久久青梅 | 亚洲欧美国产网曝综合网 | 成人一道本在线 | 五月天综合婷婷欧美专区 |