为什么在 node.js 中使用导出文本时导出不显示为终端中的对象?
Why is exports not displayed as an object in terminal while using Export Literals in node.js?
如果 exports 是节点模块对象中的一个对象,为什么它没有在终端中显示为一个对象(windows 10 中的命令提示符)?
这是 Name.js 模块中的代码:
module.exports ="Hello World";
console.log(module);
我在 ternianl 中看到的是这样的:
Module {
id: '.',
path: 'D:\Projects\Node\Tutorial',
exports: 'Hello World',
parent: null,
filename: 'D:\Projects\Node\Tutorial\names.js',
loaded: false,
children: [],
paths: [
'D:\Projects\Node\Tutorial\node_modules',
'D:\Projects\Node\node_modules',
'D:\Projects\node_modules',
'D:\node_modules'
]
}
如您所见,导出 exports: 'Hello World'
不是一个对象,而是一个字符串。
从技术上讲,模块是一个在日志中可见的对象。
当您将它导入另一个文件时,它将提供您导出的数据,即 'Hello World' 字符串。
虽然导出的值可以是字符串、数字等,module.exports 仍然是一个对象。
有关 module.exports 的详细 [=20=] 并需要阅读 https://stackify.com/node-js-module-exports/
您用字符串替换了 module.exports
对象,因此当您记录它时,您只会看到字符串,因为对象已经消失。所以,这个作业:
module.exports ="Hello World";
获取 module
对象上 exports
属性 中的对象并将其替换为字符串。所以,现在当您登录 module.exports
时,您只会看到替换它的字符串。
也许你打算做这样的事情:
module.exports.greeting = "Hello World";
将对象留在原地并添加 属性。
这很简单 Javascript 所以 exports
只是 module
对象的 属性。如果您为该对象分配其他内容 属性,那么它会用您分配给它的任何内容替换之前的对象。
这在概念上与此几乎相同:
let myexports = { name: "Hi I'm an object" };
console.log(myexports);
myexports = "Hi I'm a string"; // replace object with a string
console.log(myexports);
在任何一种情况下,您都将一个字符串分配给 variable/property 并用该字符串替换之前的对象。
如果 exports 是节点模块对象中的一个对象,为什么它没有在终端中显示为一个对象(windows 10 中的命令提示符)?
这是 Name.js 模块中的代码:
module.exports ="Hello World";
console.log(module);
我在 ternianl 中看到的是这样的:
Module {
id: '.',
path: 'D:\Projects\Node\Tutorial',
exports: 'Hello World',
parent: null,
filename: 'D:\Projects\Node\Tutorial\names.js',
loaded: false,
children: [],
paths: [
'D:\Projects\Node\Tutorial\node_modules',
'D:\Projects\Node\node_modules',
'D:\Projects\node_modules',
'D:\node_modules'
]
}
如您所见,导出 exports: 'Hello World'
不是一个对象,而是一个字符串。
从技术上讲,模块是一个在日志中可见的对象。
当您将它导入另一个文件时,它将提供您导出的数据,即 'Hello World' 字符串。
虽然导出的值可以是字符串、数字等,module.exports 仍然是一个对象。
有关 module.exports 的详细 [=20=] 并需要阅读 https://stackify.com/node-js-module-exports/
您用字符串替换了 module.exports
对象,因此当您记录它时,您只会看到字符串,因为对象已经消失。所以,这个作业:
module.exports ="Hello World";
获取 module
对象上 exports
属性 中的对象并将其替换为字符串。所以,现在当您登录 module.exports
时,您只会看到替换它的字符串。
也许你打算做这样的事情:
module.exports.greeting = "Hello World";
将对象留在原地并添加 属性。
这很简单 Javascript 所以 exports
只是 module
对象的 属性。如果您为该对象分配其他内容 属性,那么它会用您分配给它的任何内容替换之前的对象。
这在概念上与此几乎相同:
let myexports = { name: "Hi I'm an object" };
console.log(myexports);
myexports = "Hi I'm a string"; // replace object with a string
console.log(myexports);
在任何一种情况下,您都将一个字符串分配给 variable/property 并用该字符串替换之前的对象。