[英]Node.js url module vs Javascript URL
当我在 JavaScript 和 Node.js 上找到URL
时,我正在搜索URL
模块。
我有几个问题:
URL
与 Node.js URL 不同吗?URL
模块和 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: '\\',
...
...
感谢您的关注。 我期待着您的回复。
require('url')
。您提到了全局对象中的一些模块:
http、路径、操作系统等
但是,文档并未在任何地方说明这一点。 相反,这些是您需要自己require()
模块。 URL
被记录为全局对象的一部分,这是真的 - 它是一个可以在任何地方使用的类,很像 String、Number、Buffer 和其他一些。 这样做是为了与 Web 平台兼容。
REPL 很特别——它包括一个可用性功能,如果它看到对核心模块的引用,它就会加载核心模块。 更多细节在这里: https : //nodejs.org/api/repl.html#accessing-core-nodejs-modules
这意味着某些代码在 REPL 中和直接通过node
运行时实际上可能表现不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.