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!
design

SketchからFigmaに乗り換えるにあたり考慮したこと

自分は2015年ぐらいからSketchというMac専用のデザインツールを利用してきました。しかし、最近はFigmaというツールをよく聞き、知人から(とくに@takanorip氏)も評判がいいので触って

figma
dev

TypeScriptで始めるNext.js 1: セットアップ

日本国内で、SPAをベースにしたフレームワークはVueベースのNuxt.jsが有名です。しかし、Nuxt.jsはNext.jsというReactをベースにしたフレームワークを参考に作られたものです。

dev

GitHub Actionsをスケジューラとして利用する

GitHubが提供しているGitHub Actions(beta)は「ソフトウェアワークフローを簡単に自動化できる」とあります。その中にcron形式でワークフローを実行することが出来る仕組みがあり、定