node.jsでrequireを使う

 

環境

  • Node.js
  • Require
  • exports
  • js
  • javascript

説明

node.jsを使ってrequierを使ってみます。requierを使うと、例えばa.jsに書かれている処理を、b.jsから実行することができます。scriptタグで他のjsのファイルを読み込んで使うのと似てます。

node.jsはサーバーサイドの言語なので、htmlとかないかもしれません。そういう時はscriptタグで囲んで使えませんよね。そういう時にrequierを使います。scriptタグと違うのはrequierするためにはexportsしないといけないということ、今回は基本的なrequier/exportsをやってみようと言う訳です。

ちなみにrequier/exportsなどの動きはCommonJSの仕様によって定められています。

ツリー構造

$ tree
.
├── main.js
└── node_modules
    └── sub.js

1 directory, 2 files

main.js

/// main.js

// require で sub.js で module.exports に
// 設定されたオブジェクトを取得できる
var sub = require('sub');
console.log(sub);        // success!
console.log(foo);        // fooの値はグローバルスコープ
console.log(typeof i_do_not_use); // undefined

sub.js

// node_modules/sub.js
// オブジェクトを外部公開するときは
// module.exports にオブジェクトを設定
module.exports = "success!";
// fooの値はグローバルスコープ
foo = "fooの値はグローバルスコープ";
// i_do_not_useの値はこのファイル内のみで有効
var i_do_not_use = 000;

実行

# pwd
/var/www/html/node_require


# node main.js
success!
fooの値はグローバルスコープ
undefined