require() & module.exports


Module


モジュールは何ですか?調べてみると、定義されたモジュールは人によって違います.モジュールお前は...イブみたいなやつ...
モジュールの概念を簡単に理解すれば...
コードを複数のファイルに分割して、コードの再利用性を向上させます.モジュールを使用すると、Aというファイルに記述されたコードをBというファイルで使用できます.

require()


JavaScriptでは、requireで他の場所のモジュールをインポートできます.

///test1.js // 라는 파일이 있다.
  console.log("HI I'm TEST1")
test1.jsの内容はそれだけです.test2.jsからそれらの内容を取得します.
///test2.js // 라는 파일이 있다.
require('./test1.js')
// require을 통해 test1.js의 내용을 가져올 수 있다.
これで端末ノードtest 2jsを実行します.

こうしてHI I'm TEST 2がうまく出力された
関数も持ってきましょうか?
/// test1.js ///

function test1() {
  console.log("HI I'm TEST1")
}
既存のコンテンツをtest 1関数に追加します.
///test2.js //

require('./test1.js')
console.log(test1())
果たして結果は?

属相問題が発生した.どうして関数がだめなのですか.
なぜならモジュールが中の関数を保護しているからです.
では、どのように使いますか.

module.exportsを使えばいいです。

///test1.js///

function test1() {
    console.log("HI I'm TEST1")
  }
  
  module.exports = test1
このようなモジュールエクスポートにインポートする関数が含まれます.
これにより、このコンテンツをrequireとしてロードできます.
///test2.js///
let test2 = require('./test1.js');

console.log(test2())
そして、上記のようにtest 2==test 1()と同じになります.
ではtest 2js上のコンソール.ログには次のものが含まれます.
「HI I'm TEST 1」が出る

module.しゅつりょく

///test1.js///
function test1() {
    console.log("HI I'm TEST1")
  }
  module.exports = test1
///test2.js///
function test2() {
  console.log("HI I'm TEST2")
}
module.exports = test2
上のテストjsとtest 2.jsの関数3をテストします.jsから呼んでくれました.
///test3.js///
let test1 = require('./test1.js')
let test2 = require('./test2.js')

module.exports = {
    test1: test1,
    test2: test2
};
これにより、test 1=test 1()/test 2==test 2().
彼らを再結合する出口に入れて
///test4.js///
let test4 = require('./test3.js')

test4.test1()
test4.test2()
// HI I'm TEST1
// HI I'm TEST2
ではtest 4jsでは、オブジェクトに一度にロードし、オブジェクトに含めることができます.