首页 > 解决方案 > index.js 中定义的变量会转移到其他脚本吗?

问题描述

我有 index.js 运行以下代码:

var ClassData=require("./server/classdata.js");
var data=require("./server/data.js");

classdata.js 文件包含多个类,我想知道是否有任何方法可以将其放入 data.js。截至目前,以下代码为:

var data={};

console.log("hello1"); //this gets logged
module.export=data;
console.log("hello2"); //this gets logged

console.log(ClassData); //"ClassData is not defined"

当最后一行不存在时,数据对象被导出,否则它表示 ClassData 未定义。我知道我可能可以使用与 index.js 中相同的方式来定义它,使用require();,但我认为这使它再次运行整个脚本。有没有办法直接从 data.js 中得到它,这样它就被定义了?我需要把它放在 data.require 部分吗?我不在乎我是否不能更改 ClassData。

标签: javascriptnode.jsobjectrequiremodule.exports

解决方案


classdata.js 文件包含多个类,我想知道是否有任何方法可以将其放入 data.js

您可以require('./classdata.js')在 data.js 内部使用,这就是require目的,在另一个内部重用模块。

我知道我可能可以使用与 index.js 中相同的方式使用 require(); 来定义它,但我认为这会使它再次运行整个脚本。

使用导入的模块在首次使用后require会被缓存,因此脚本不会再次运行。


推荐阅读