Node.jsの解説書に、いきなり『exports.index = 〜』というような記述が出てきて困惑してしまった。
調べた所、モジュール内のオブジェクトを外部に公開するための仕組みらしい。
サンプルプログラムを書いて実験してみる。
■サンプルプログラム computers.js
var lang = [ 'Python', 'JavaScript', 'Java', 'Ruby', ]; var pc = [ {name: 'iMac', maker:'Apple'}, {name: 'PC-8001', maker:'NEC'}, {name: 'FM-7', maker:'Fujitsu'}, {name: 'MZ-2500', maker:'SHARP'}, ]; exports.lang = lang; //langを公開する
nodeの対話モードで実験してみる。
$ node Welcome to Node.js v12.16.0. Type ".help" for more information. > var comp = require('./computers.js'); undefined > cpmp; { lang: [ 'Python', 'JavaScript', 'Java', 'Ruby' ] } > comp.lang[1] 'JavaScript' > comp.pc; undefined ※アクセスできない
追記
exportsよりもmodule.exportsを使った方がいいらしい。
var lang = [ 'Python', 'JavaScript', 'Java', 'Ruby', ]; module.exports.lang = lang;