亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時(shí)間:2019年11月25日 15:59:46   作者:winty  
這篇文章主要介紹了淺談Node新版本13.2.0正式支持ES Modules特性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在本月 21 日,即2019.11.21,Node.js 發(fā)布了 13.2.0 版本,更新了一些特性。其中最令人興奮的莫過(guò)于正式取消了 --experimental-modules 啟動(dòng)參數(shù)。這說(shuō)明Node.js 正式支持 ES modules。我們一起來(lái)看看。

Stability Index說(shuō)明

Stability Index,即 Api 的穩(wěn)定指數(shù)說(shuō)明。它包括3個(gè)值:

  1. Stability: 0 ,不推薦使用。表示該Api官方不推薦使用,該功能可能會(huì)發(fā)出警告。不能保證向后兼容。
  2. Stability: 1,實(shí)驗(yàn)性的。表示該Api已經(jīng)支持使用性使用。但是在將來(lái)的任何發(fā)行版中都可能發(fā)生非向后兼容的更改或刪除。不建議在生產(chǎn)環(huán)境中使用該功能。

Stability: 2,穩(wěn)定版。表示已經(jīng)試驗(yàn)完成,基本不會(huì)再發(fā)生改動(dòng),可以再生產(chǎn)環(huán)境中使用。

Unflag --experimental-modules

在 13.2.0的版本中,node 默認(rèn)情況下會(huì)啟用對(duì)ECMAScript模塊的實(shí)驗(yàn)支持,也就是不需要啟動(dòng)參數(shù)了。那么nodejs是如何區(qū)分 esm 和 commonjs 的呢?這里翻譯一下官方文檔。
Node.js會(huì)將把以下內(nèi)容視為ES模塊:

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

其他情況下,都會(huì)被識(shí)別為 commonjs?,F(xiàn)在node已經(jīng)支持esm和commonjs了,我們?cè)谑褂玫臅r(shí)候,最好還是指定一下模塊。

舉個(gè)例子🌰

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.

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

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

當(dāng)前目錄下,或者上級(jí)目錄中的package.json含有"type": "module"時(shí),該模塊會(huì)被當(dāng)作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".

如上圖注釋所示,如果當(dāng)前文件目錄不包含package.json,則會(huì)看其父級(jí)目錄的package.json文件,然后判斷type類(lèi)型。

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

這里就是使用傳遞字符參數(shù)給--eval,添加 --input-type啟動(dòng)參數(shù)的情況。

快速體驗(yàn)

目前13.2.0版本的官方文檔對(duì)ES Module的標(biāo)記是 Stability: 1,你已經(jīng)可以安裝新版本來(lái)試驗(yàn)啦。相信在社區(qū)的共同努力下,很快就會(huì)進(jìn)入 Stability: 2 正式穩(wěn)定版了。

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

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

趕緊嘗試一下吧~

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node搭建https服務(wù)器實(shí)例詳解

    Node搭建https服務(wù)器實(shí)例詳解

    這篇文章主要介紹了Node搭建https服務(wù)器的方法,結(jié)合實(shí)例形式詳細(xì)分析了創(chuàng)建ssl證書(shū)以及node.js調(diào)用https模塊搭建https服務(wù)器的相關(guān)操作技巧,需要的朋友可以參考下
    2023-04-04
  • Node.JS中快速掃描端口并發(fā)現(xiàn)局域網(wǎng)內(nèi)的Web服務(wù)器地址(80)

    Node.JS中快速掃描端口并發(fā)現(xiàn)局域網(wǎng)內(nèi)的Web服務(wù)器地址(80)

    在 Node.JS 中進(jìn)行端口掃描還是比較方便的,一般會(huì)有廣播和輪詢(xún)兩種方式。下文重點(diǎn)給大家介紹node.js 掃描端口并發(fā)現(xiàn)局域網(wǎng)內(nèi)的web服務(wù)器地址的方法,一起看看吧
    2017-09-09
  • Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解

    Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解

    這篇文章主要介紹了Node.js中使用Buffer編碼、解碼二進(jìn)制數(shù)據(jù)詳解,Buffer支持ascii、utf8、ucs2、base64等編碼格式,需要的朋友可以參考下
    2014-08-08
  • nodejs初始化init的示例代碼

    nodejs初始化init的示例代碼

    今天小編就為大家分享一篇nodejs初始化init的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • nodejs版本管理工具nvm的安裝與使用小結(jié)

    nodejs版本管理工具nvm的安裝與使用小結(jié)

    在項(xiàng)目開(kāi)發(fā)過(guò)程中,使用到vue框架技術(shù),需要安裝node下載項(xiàng)目依賴(lài),本文主要介紹了nodejs版本管理工具nvm的安裝與使用小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 深入理解Node module模塊

    深入理解Node module模塊

    這篇文章主要介紹了深入理解Node module模塊,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Node.js搭建WEB服務(wù)器的示例代碼

    Node.js搭建WEB服務(wù)器的示例代碼

    這篇文章主要介紹了Node.js搭建WEB服務(wù)器的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Node.js中fs模塊的使用方法

    Node.js中fs模塊的使用方法

    這篇文章介紹了Node.js中fs模塊的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Nest.js系列學(xué)習(xí)之初識(shí)nest項(xiàng)目框架及服務(wù)

    Nest.js系列學(xué)習(xí)之初識(shí)nest項(xiàng)目框架及服務(wù)

    這篇文章主要為大家介紹了Nest.js系列學(xué)習(xí)之初識(shí)nest項(xiàng)目框架及服務(wù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 基于node搭建服務(wù)器,寫(xiě)接口,調(diào)接口,跨域的實(shí)例

    基于node搭建服務(wù)器,寫(xiě)接口,調(diào)接口,跨域的實(shí)例

    今天小編就為大家分享一篇基于node搭建服務(wù)器,寫(xiě)接口,調(diào)接口,跨域的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05

最新評(píng)論