🤔

【Nuxt】 nuxi dev とnuxt dev ってどう違うの?

2024/07/17に公開

はじめに

普段 Nuxt を利用しているときにnuxiというワードを目にすることがあると思います。

例えば

terminal
npx nuxi@latest init

terminal
npx nuxi dev

などです。
しかし、Nuxtテンプレートで生成したpackage.jsonのnpm scripts を眺めてみるとnuxt devと書かれていることが多いです。

nuxi devnuxt devはどう違うのでしょうか。その謎を解くために Nuxt CLI のリポジトリを覗いて見ましょう。

答え

nuxtnuxiのエイリアスです。nuxiNuxt CLI から命名されている名前です。

公式からの案内は...

公式ドキュメントや Nuxt CLI のリポジトリを眺めてみましたがどこにも明記はなかったです。
さらに色々掘ってみると Reddit でSebastien Chopin氏が回答しているものを見つけました。

https://www.reddit.com/r/Nuxt/comments/1bmwlez/comment/kwgvzme/


回答を引用してみます。

They are exactly the same.

nuxi is the npm package for Nuxt CLI as we wanted it to be separated from the nuxt package for maximum speed when running npx nuxi init
Once you are inside a Nuxt project, you can use both nuxi or nuxt commands, nuxt will be an alias of nuxi for consistency and developer experience.

See the alias on https://github.com/nuxt/cli/blob/8e1bd03d138bd6e55d91465801a8d9a21299f8b2/package.json#L16
Hope the answer helps ☺️

こちらの回答を読む限りだと開発者体験のためにnuxtというエイリアスを設定しているとのこと。
確かに Nuxt の命名から nuxi と入力するよりも nuxt と入力するユーザーの方が多いですね。

Nuxt CLI のリポジトリから設定を探す

Nuxt CLI v3.12 のバージョンでエイリアス設定を探してみます。エイリアス設定は package.json に記載されています。

https://github.com/nuxt/cli/blob/bca75ab6490dfc444e3b6766ba5c47572622e2d3/package.json#L13-L18

X(Twitter)でも探してみる

Reddit であったのでXでもないかなと思って探してみました。すると、見つかりました。やはり Reddit と同様の回答をされていました。

https://x.com/Atinux/status/1772221053890101521

nuxinuxt 以外にも2つのエイリアスが設定されていますね。基本的には nuxinuxt しか使わない気がします。

nuxt-cliっていつから設定されているエイリアスなのか?

nuxt-cliNuxt v3.7.0 時代に nuxi へリネームされています。

https://github.com/nuxt/cli/releases/tag/v3.7.0

おわりに

気になっている人が多いわりには理由を知らないユーザーが多いので改めて調査してみました。
私は X(まだTwitter時代)に上記のツイートで知りました。少しでも気になっていた人に届けば幸いです。

Vue・Nuxt 情報が集まる広場 / Plaza for Vue・Nuxt.

Discussion