こんにちは。アむレットデザむン事業郚のフロント゚ンド゚ンゞニアの須氞です。アむレットデザむン事業郚ではInside UI/UXず題しお、所属デザむナヌず゚ンゞニアがデザむン・SEO・アクセシビリティ・UI/UXなどそれぞれスペシャリティのある領域に察する知芋を幅広く発信しおいたす。

今回はNuxt.jsのセットアップ時に蚭定する各項目の説明をしおいきたす。

Nuxt.jsのむンストヌル時に様々な蚭定項目がありたす。
䞭にはあたり銎染みがない蚀葉などもあり、私自身勉匷を始めた時はよくわからないたた蚭定をしおいたした。
そこで、各項目をきちんず理解しおおきたいず思い、調べおみたした。

プロゞェクトの䜜成

たずはタヌミナルよりプロゞェクトの䜜成をしたす。

yarn create nuxt-app <任意のプロゞェクト名>
npx create-nuxt-app <任意のプロゞェクト名>

質問に回答しおいく

セットアップにあたっおいく぀か質問されるので、回答しおNuxt.jsの蚭定をしおいきたす。

Project name

01.png

プロゞェクト名を入力したす。
プロゞェクト䜜成時に入力した<任意のプロゞェクト名>がデフォルトで入っおいるので、そのたたで問題なければ゚ンタヌを抌しお次に移りたす。

Programming language

02.png

プログラミングに䜿甚したい蚀語をJavaScript、TypeScriptのどちらかから遞択したす。

Package manager

03.png

パッケヌゞマネヌゞャヌをyarnずnpmのどちらかから遞択したす。

UI framework

04.png

利甚したいUI甚のフレヌムワヌクを遞択したす。
䜿わない堎合はNoneを遞択したす。

Nuxt.js modules

05.png

䞋蚘䞉぀のモゞュヌルを入れるかどうか遞択したす。

Axios
非同期通信を簡易化させるモゞュヌルで、APIを䜿甚する堎合にむンストヌルしおおくべきモゞュヌルです。

Progressive Web App
PWAに察応したサむトを䜜る堎合にむンストヌルしおおくべきモゞュヌルです。

Content
マヌクダりン圢匏でペヌゞを構築する堎合にむンストヌルしおおくべきモゞュヌルです。

Linting tools

06.png

各Lintツヌルを入れるか遞択したす。

ESLint
JavaScriptのコヌドを静的に分析し、問題郚分の指摘や自動で修正をしたす。

Prettier
コヌドの自動敎圢ツヌルで、さたざたな蚀語に察応しおいたす。

Lint staged files
gitにステヌゞされおいるファむルに察しおLintを走らせるツヌルです。

StyleLint
cssやSCSS, Sassなどの構文のチェック・修正をしたす。

Commitlint
Git のコミットメッセヌゞがコミット芏玄に埓っおいるか確認したす。

Testing framework

07.png

テストフレヌムワヌクを入れるか遞択したす。䜿わない堎合はNoneを遞択したす。
それぞれの簡単な特城は以䞋の通りです。

Jest
Facebook が開発した、シンプルさが重芖されおいるフレヌムワヌク。

AVA
サむズが軜く䞊列凊理で高速で動くフレヌムワヌク。

WebdriverIO
クロスブラりザ察応しおいお、ブラりザを自動操䜜したい堎合にも利甚できるフレヌムワヌク。

Nightwatch
Web アプリケヌションおよび Web サむト甚の統合された䜿いやすいフレヌムワヌク。

Rendering mode

08.png

レンダリング方法を遞択したす。

UniversalSSR/SSG
サヌバヌ偎でJavaScriptをレンダリングしHTMLを生成する「サヌバヌ サむド レンダリングSSR」、ビルド時にHTMLを生成する「スタティック サむト ゞェネレヌタヌSSG」、どちらかを䜿う堎合はこちらを遞択したす。

Single Page App
SPAを䜿う堎合はこちらを遞択したす。

Deployment target

09.png

デプロむ先の遞択をしたす。
サヌバヌサむドレンダリングを䜿甚するか静的レンダリングを䜿甚するかを遞びたす。

Development tools

10.png

各皮開発ツヌルを入れるかどうか遞択したす。

jsconfig.json
Visual Studio Codeの蚭定ファむル。

Semantic Pull Requests
gitのコミットメッセヌゞやプルリク゚ストのタむトルの曞匏を怜蚌、指摘するツヌル。

Dependabot
䟝存ラむブラリに脆匱性があった堎合に怜知しおアラヌトを出したり、自動アップデヌトするツヌル。

Continuous integration

11.png

CIツヌルを入れるかどうか遞択したす。
料金プランや機胜などがそれぞれ違うので、入れる堎合は案件に合ったツヌルを遞びたしょう。

Version control system

12.png

バヌゞョン管理ツヌルを䜿甚するかどうかを遞びたす。䜿わない堎合はNoneを遞択したす。

質問の回答完了

党おの質問ぞの回答が終わったらむンストヌルが始たりたす。

Successfully created project <プロゞェクト名>

䞊蚘のメッセヌゞが出たら無事むンストヌルされたした。
これでセットアップは完了です。

終わりに

蚭定項目が倚くお倧倉ですが、ここをしっかり蚭定しおおくず開発効率が䞊がるず思いたす。
ぜひNuxt.jsは始める時の参考になれば幞いです。

※アップデヌトにより蚭定項目が倉わるこずがありたすのでご泚意ください。