URL當我URL在 JavaScript 和 Node.js 上找到 時,我正在搜索該模塊。
我有幾個問題:
- JavaScript
URL與 Node.js URL 不同嗎? URLNode.js 中的模塊和 JavaScript 的特性有什么區別?- 里面寫的檔案,
URL被稱為全域物件。所以你不再需要一個url模塊?
瀏覽器兼容的 URL 類,按照 WHATWG URL 標準實作。決議的 URL 的示例可以在標準本身中找到。 URL 類也可用于全域物件。
全域物件的平臺里面,我也看到了http,path,os等模塊。
我想在不需要的情況下使用os和path模塊(因為它們在全域物件中)但我的檔案執行失敗:
> node test.js
console.log(path); // ReferenceError: path is not defined
我還撰寫了以下代碼,但輸出中列印了未定義的值:
console.log(global.path); // undefined
- 是什么原因?
但是當我在 REPL 中使用這些時,它回傳以下輸出:
<ref *1> {
resolve: [Function: resolve],
normalize: [Function: normalize],
isAbsolute: [Function: isAbsolute],
join: [Function: join],
relative: [Function: relative],
toNamespacedPath: [Function: toNamespacedPath],
dirname: [Function: dirname],
basename: [Function: basename],
extname: [Function: extname],
format: [Function: bound _format],
parse: [Function: parse],
sep: '\\',
...
...
- REPL和腳本檔案不同的原因是什么?
感謝您的關注。我期待著您的回復。
uj5u.com熱心網友回復:
- Node.js 中的 URL 物件旨在與您在瀏覽器中獲得的物件兼容。
- 任何可見的差異都應該在 URL 類的檔案中提及。似乎沒有。
- 這是正確的 -
require('url')如果您只需要 URL 類或 URLSearchParams ,則不需要。
您提到了全域物件中的一些模塊:
http、路徑、作業系統等
但是,檔案并未在任何地方說明這一點。相反,這些是您require()自己需要的模塊。URL被記錄為全域物件的一部分,這是真的 - 它是一個在任何地方都可用的類,很像 String、Number、Buffer 和其他一些。這樣做是為了與 Web 平臺兼容。
REPL 很特別——它包括一個可用性功能,如果它看到對核心模塊的參考,它就會加載核心模塊。更多詳細資訊:https : //nodejs.org/api/repl.html#accessing-core-nodejs-modules
這意味著某些代碼在 REPL 中和直接通過node.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/355159.html
標籤:javascript 节点.js 网址 全局对象
上一篇:回傳函式不會在React中呈現
