如何在nodejs中的多个文件之间共享变量



//app.js

var myvar = 1  
module.exports = {myvar}; 

//另一个在我的项目

var mynewvar =require("../app.js")
console.log(mynewvar.myvar); // undefined ? 

我需要让var在所有项目中都是全局的吗?我正在尝试全球化,但同样的问题有人能帮我吗?

我唯一的猜测是你可能没有正确的app.js路径。这项工作:

// app.js
var myvar = 1  
module.exports = {myvar}; 
// index.js
var mynewvar =require("./app.js")
console.log(mynewvar.myvar);

这里有一个回复,它表明它是有效的:

https://repl.it/repls/CruelMonstrousArchives

也许你在做一些不同的事情?

您可以通过es6(lib.js(或es5(lib2.js(轻松实现这一点。

实例:https://codesandbox.io/embed/mo8z2ooovj

导出模块es6-lib.js:

const myvar = 1;
export default myvar;`

导出模块es5-lib2.js:

var myvar2 = 2;
module.exports = myvar2;`

在另一个文件中,你可以导入模块并显示值,就像这样,我使用一个组件:

import myvar from "./lib";
import myvar2 from "./lib2";
// you can use the imported values here as you need

// e.g.
function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<p>value from lib.js {myvar}</p>
<p>value from lib2.js {myvar2}</p>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);`

最新更新