在一个名为File_A.jsI 的文件中,有一个包含常量的函数。我想导出这个常量,并且只有这个常量(而不是整个函数),以便在另一个名为File_B.js. 我尝试使用module.exports但它返回该变量未定义。下面是一个简化的示例。谢谢// my function in File_A.jsconst MyFunctionA = () => { const myVariable = 'hello' module.export = {myVariable: myVariable} return ( /*...*/ );}// my second function in File_B.jsconst MyFunctionB = () => { const {myVariable} = require('./File_A.js'); console.log(myVariable) // undefined return( /*...*/ );}
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
如何导出函数内部的常量?
对此有两个答案:
你不知道。这没有道理。相反,您可以将常量移出函数并将其导出。
MyFunctionA
您完全按照您所做的那样进行操作,但是该常量在至少执行一次之前不会出现在模块的导出中。这是可能的,因为您使用的 CommonJS 样式模块是动态的并且可以在运行时更改。然而,正如您所发现的,使导出依赖于函数调用会带来麻烦。
因此,采用#1,我们得到:
// my function in File_A.js
const myVariable = "hello"; // Odd name for a constant? ;-)
module.exports.myVariable = myVariable;
const MyFunctionA = () => {
return (
/*...*/
);
};
对此有几点说明:
MyFunctionA
仍然关闭常量并按照以前的方式引用它。myVariable
不会成为全局范围,因为 CommonJS 模块的顶级范围不是全局范围。
添加回答
举报
0/150
提交
取消