mottox2 blog

Node.jsでファイルを直接実行した際にしか動かない処理を書く

tip

Node.jsで他のファイルから呼び出すためのファイルを書いた時に、その関数をいい感じに実行したいと思ったことはないだろうか?具体的にはテストから呼び出すほどでもない用途でnode index.jsを叩いた時だけ動く動作を実現したい。
私は昔からRubyを書いており以下のような記述で、ファイルを直接実行した際にしか動かない処理を書くことができるのを知っていた。

sample.rb
class HogeClass
  def some_method
  end
end

# `ruby sample.rb`を叩くと実行される。他ファイルからの読み込み時には動作しない。
if $0 == __FILE__
  # do someting 
end

これをNode.jsに置き換えると次のようなコードで実現できた。便利だ。

index.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

B!
dev

なぜSPA技術でウェブサイトをつくるのか?

ここ最近、SPAを作るフロントエンドエンジニアを中心に、アプリケーションではないウェブサイトもReactやVueで作る動きが活発になってきました。 - そもそもなぜReactやVueを使ってウェブ

spa
tips

VSCodeの調子が悪い時はVSCode Insidersに避難しよう

> 私のVSCode遅くない?私のVSCode遅くない? 自分は普段から『VSCode』(Visual Studio Code)を愛用していて、RubyやPythonなどJavaScript/Ty

vscodepoem
event

「技術書典7」にサークル参加してきた

2019/09/22に池袋で開催された技術書典にサークル参加してきました。今回はJAMStackの既刊を持たず、Slack App開発本を2冊頒布してきました。 だいぶ遅れてしまいましたが、「ブロ

技術同人誌