簡體   English   中英

node:process 和 process 有什么區別?

[英]What's the difference between node:process and process?

當我導入node:process時,它工作正常。 但是,當我嘗試要求相同時,它會出錯。

這很好用:

import process from 'node:process';

但是當我嘗試要求相同時,它會拋出一個錯誤:

const process = require('node:process');

Error: Cannot find module 'node:process'

我很好奇 process 與node:process process有什么區別,它在 commonjs 和模塊中都有效。

另外,作為后續行動,我正在使用 webpack 來捆綁我的 js,當我嘗試運行我的捆綁代碼並意識到該錯誤時,我發現了這個錯誤, chalk導入了node:processnode:osnode:tty 我現在該如何解決?

import process from 'node:process'; import process from 'process'; 是等價的。

node:import版本 12 開始存在。

node:支持 URL 作為加載 Node.js 內置模塊的替代方法。 這個 URL 方案允許內置模塊被有效的絕對 URL 字符串引用。

node:背后的想法是明確它實際上是一個構建模塊而不是一個已安裝的模塊,並避免名稱沖突,與第 3 方模塊。

node:協議最初只是為了import而添加的,因此特定的節點版本可能支持node: with import但不支持require

在 v16.13.0(不確定從哪個 v16 版本開始)中,您也可以將它與require一起使用。 自 v14.18 以來也被反向移植到 v14:模塊:添加對 node:-prefixed require(...) 調用的支持

“節點:”是一個用於加載 ECMAScript 模塊的 URL 方案。 因此它開始是為了“導入”,而不是“需要”。

“node:process”只是加載內置“process”模塊的替代名稱。

另請參閱Node.js 文檔- 您可以在“歷史”標簽內找到最低支持 Node.js 版本(12.20.0、14.13.1)

對於較新的 Node.js,它也應該可用於“require”(14.18.0、16.0.0)。

可以在此處找到更多詳細信息:node:process 總是更喜歡內置的核心模塊,而進程可以從文件中加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM