как разделить переменную между более чем одним файлом в nodejs - PullRequest
0 голосов
/ 03 ноября 2018

// app.js

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

// еще один в моем проекте

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

Мне нужно, чтобы var был глобальным для всего проекта? Я пробую глобально, но одна и та же проблема может мне помочь?

Ответы [ 2 ]

0 голосов
/ 04 ноября 2018

Вы можете легко достичь этого, либо способом 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);`
0 голосов
/ 04 ноября 2018

Мое единственное предположение, что у вас может не быть правильного пути к app.js. Это работает:

// app.js

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

// index.js

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

Вот repl.it, который показывает, что он работает:

https://repl.it/repls/CruelMonstrousArchives

Может быть, вы делаете что-то другое, чем это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...