Node.jsで他のファイルから呼び出すためのファイルを書いた時に、その関数をいい感じに実行したいと思ったことはないだろうか?具体的にはテストから呼び出すほどでもない用途でnode index.js
を叩いた時だけ動く動作を実現したい。
私は昔からRubyを書いており以下のような記述で、ファイルを直接実行した際にしか動かない処理を書くことができるのを知っていた。
class HogeClass
def some_method
end
end
# `ruby sample.rb`を叩くと実行される。他ファイルからの読み込み時には動作しない。
if $0 == __FILE__
# do someting
end
これをNode.jsに置き換えると次のようなコードで実現できた。便利だ。
modules.exports = () => {
}
if (require.main === module) {
console.log('`node index.js`のように実行の起点となる時だけ実行される。')
console.log('`require("./index")`のように読み込まれると実行されない。')
}
参考: https://nodejs.org/api/modules.html#modules_accessing_the_main_module
ここ最近、Web技術を利用した画像生成に興味があります。本記事では、日本語における表現の一種である縦書きに焦点を当て、Web技術を使った縦書きを含む画像生成方法についての調査をまとめました。 > 現
追記(2022/12/29): 問い合わせに対応する窓口をTwitterに統一したいので、フォームページは削除しました。 当ブログは静的サイトホスティングサービスのNetlifyでホスティングされ
毎年10月に開催されるHacktoberfestに参加しました。このイベントはOSSへの貢献を行い、期間中に規定数(4つ)の貢献を行った人に特典がプレゼントされるものになっています。 自分はドキュメ