Javascript Node js module.exports不导出变量
我是node.js的新手。我正在使用Javascript Node js module.exports不导出变量,javascript,node.js,node-modules,Javascript,Node.js,Node Modules,我是node.js的新手。我正在使用模块。导出,我遇到了一个问题。我有两个文件: test.js module.exports.lm="abc"; module.exports = "hello"; index.js var p = require('./test.js'); var l = require('./test.js').lm console.log(p); //hello console.log(l); //undefined 有人能解释为什么会这样吗?正如@Ryan所说。问题
模块。导出
,我遇到了一个问题。我有两个文件:
test.js
module.exports.lm="abc";
module.exports = "hello";
index.js
var p = require('./test.js');
var l = require('./test.js').lm
console.log(p); //hello
console.log(l); //undefined
有人能解释为什么会这样吗?正如@Ryan所说。问题是,首先将
abc
添加到模块中。导出
,然后创建一个全新的对象,并为其分配字符串hello
请尝试以下代码:
module.exports = {
hello: "hello",
lm: "abc",
};
然后您可以像这样导入这些变量:
var p = require('./test.js').hello;
var l = require('./test.js').lm
除非您在某个地方设置了
module.exports=“hello”
,否则不会发生这种情况。啊,这是一个相当重要的区别。您正在向模块添加内容。导出对象,然后用字符串替换整个对象。但是,即使更改顺序:字符串原语也不能有自己的属性。一方面,设置属性后覆盖。导出,另一方面“hello”
是原语字符串值,不能有属性。那么,你到底期望发生什么,还有哪些部分你不明白?