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