Node.jsで外部ファイルから関数を呼び出す

Seleniumでも使われているNode.jsで外部ファイルから関数を呼び出すことが出来ます。 普通にフロントエンドで使うjavascriptではjQueryを用いたりHTMLタグを使ってscriptタグを使ったりと面倒くさいのですが Node.jsではexportsを使うことで簡単に実現できます。 まず外部ファイルをexport.js,呼び出す側のファイルをimport.jsとします。

export.js

exports.sayHello = function () {
  console.log("Hello!");
}

exports.sayThanks = function (name) {
  console.log("Thank you, " + name);
}

sayGoodBye = function () {
  console.log("GoodBye!");
}

import.js

var export_function = require('export.jsのパス');
export_function.sayHello; // "Hello!"
export_function.sayThanks("hoge"); //"Thank you, hoge"
export_function.sayGoodBye; // error. export_function.sayGoodBye is not a function

実行結果をimport.jsの各関数呼び出しの行の後にコメントアウトしました。外部ファイルからはexportsで指定された関数以外は呼び出せません。