成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Node.js v17.6.0 發布,允許從 HTTP 和 HTTPS URL 導入模塊

開發
Node.js v17.6.0 一個新的實驗性功能是允許我們從 HTTP 或 HTTPS URL 導入 ES Module,但是目前在 Node.js 中使用還是有一些限制。

Node.js v17.6.0 版本于 2022-02-23 發布,一個顯著的特性是試驗性支持從 HTTP 和 HTTPS 導入模塊,這里面也包括很多問題,包括從安全方面考慮,目前在 Node.js 中使用還是有一些限制及一些其它的常規小錯誤修復。

允許從 HTTP 和 HTTPS URL 導入模塊

Node.js v17.6.0 一個新的實驗性功能是允許我們從 HTTP 或 HTTPS URL 導入 ES Module。這使得一些類似于 Web 瀏覽器導入的工作也可以在 Node.js 中完成,同時也消除了一些 Node.js 與 Deno 之間的差異,即 Deno 允許使用 HTTPS 導入包。因為一些安全性和穩定性的問題和瀏覽器相比還是有些差異的。

以下是一個導入 HTTP 資源的簡單示例,該功能現在處于實驗性狀態,運行時需添加 標志。--experimental-network-imports

// hello.mjs
export default function hello(message) {
console.log(`Hello ${message}`);
}

$ http-server
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8080

// index.mjs
import hello from 'http://127.0.0.1:8080/hello.mjs';
console.log(hello('codingMay')); // Hello codingMay

當前并非所有的 ES Modules 模塊都可以加載,以下兩個 Example,第一個盡管是加載的 HTTPS 資源,但不是 HTTP/1,實施例 2 導入了非網絡依賴資源。

// Example1: 加載 HTTPS 資源
import hello from 'https://gitee.com/qufei1993/esmodule-https-import-example/blob/master/hello.mjs';
console.log(hello('codingMay'));


輸出錯誤:RangeError [ERR_UNKNOWN_MODULE_FORMAT]: Unknown module format: null for URL https://gitee.com/qufei1993/esmodule-https-import-example/blob/master/hello.mjs

// Example2: 加載其它非網絡資源
// hello.mjs
import fsPromise from 'fs/promises';
export const readFile = filename => fsPromise.readFile(filename);

// index.mjs
import hello from 'http://127.0.0.1:8080/hello.mjs';

輸出錯誤:TypeError [ERR_INVALID_URL_SCHEME]: The URL must be of scheme file

HTTP 和 HTTPS 導入的一些限制:

  • 僅支持 HTTP/1,不支持 HTTP2/HTTP3。
  • HTTP 僅限于環回地址。
  • 身份驗證不會發至服務器,例如 Authorization、Cookie 和 Proxy-Authorization 標頭不會發送到服務。
  • 永遠不會在目標服務器上檢查 CORS。
  • 無法加載非網絡依賴項。
  • 默認情況下不啟用基于網絡的加載,需要通過 標志打開加載 HTTP 或 HTTPS 資源。--experimental-network-imports

Process 獲取活躍具柄和請求方法廢棄通知

這個改變主要是在文檔記錄了 和 的棄用通知,以便支持更好的公共API。_getActiveHandles_getActiveRequests

這兩個以下劃線開頭的 API 被代替的公共 API 方法 在 Node.js v17.3.0 所添加,該方法返回事件循環活動狀態的資源類型。process.getActiveResourcesInfo()

import { getActiveResourcesInfo } from 'process';
import { createServer } from 'http';

console.log('Before:', getActiveResourcesInfo()); // Before: [ 'CloseReq', 'TTYWrap', 'TTYWrap', 'TTYWrap' ]
setTimeout(() => {
console.log('After:', getActiveResourcesInfo()); // After: [ 'TTYWrap', 'TTYWrap', 'TTYWrap', 'TCPServerWrap', 'Timeout' ]
}, 5000);

createServer((req, res) => res.end('OK')).listen(3000);

其它的一些升級事項

  • stream:恢復 map 規范合規性。
  • build:移除損壞的 x32 arch 支持。
  • fetch:當 fetch 啟用時(),全局對象添加 FormData。--experimental-fetch
  • fs:cp 和 cpSync 支持相對鏈接復制。
  • 流程:廢棄多重解決。
  • deps: 更新 npm 到 8.5.1。
責任編輯:趙寧寧 來源: Nodejs技術棧
相關推薦

2023-06-30 23:25:46

HTTP模塊內存

2015-06-23 15:27:53

HproseNode.js

2017-06-02 10:00:26

前端Node.js

2022-02-12 20:33:29

Node.jsStreamfetch API

2021-05-24 11:25:13

Node.js 16V8前端

2020-10-12 08:06:28

HTTP 服務器證書

2021-12-25 22:29:57

Node.js 微任務處理事件循環

2021-07-09 00:24:10

No.jsNode.js原理

2019-12-17 11:40:44

Node.js模塊前端

2021-09-26 05:06:04

Node.js模塊機制

2011-11-08 10:53:02

Node.js

2012-07-12 10:15:15

Node.js

2011-12-05 09:39:57

Node.js

2020-04-15 15:48:03

Node.jsstream前端

2025-05-26 00:31:31

2023-06-20 19:35:00

Node.js工具

2014-09-12 10:35:09

Node.jsHTTP 206

2013-11-01 09:34:56

Node.js技術

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2011-05-24 15:09:11

NodeJS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 激情 亚洲| av片在线观看 | 亚洲国产精品99久久久久久久久 | 亚洲精品一区二区 | 亚洲精品视频二区 | 美女视频一区 | 超碰操 | 欧美在线国产精品 | 米奇7777狠狠狠狠视频 | 久草视频观看 | 国产精品99久久久久久www | 四虎影院新网址 | 日韩国产一区 | 国产精品视频偷伦精品视频 | av天天澡天天爽天天av | 自拍偷拍中文字幕 | 亚洲精品1| 免费人成在线观看网站 | 玖玖在线免费视频 | 亚洲午夜精品在线观看 | av福利网| 一二三四在线视频观看社区 | av日韩高清| 国产精品日韩欧美一区二区 | 亚洲精品68久久久一区 | 国产一区二区在线免费播放 | 欧美成人精品激情在线观看 | 久久久久久久91 | 国偷自产av一区二区三区 | 亚洲欧美日韩精品久久亚洲区 | 99久久久久久久久 | 精久久 | 成人三级视频 | 欧美一区在线视频 | 国产乱码精品一区二区三区中文 | 亚洲在线一区 | 福利av在线| 欧美一区成人 | 亚洲国产精品一区二区久久 | 日韩欧美在线视频观看 | 亚洲欧美在线观看 |