【Nuxt.js】Vue.jsでSSR
以前Vue.jsでプレレンダリングの方法を紹介したので、今回はNuxt.jsを使って、Vue.jsでSSRを簡単に実現する方法を紹介します。
Vue.jsでプレレンダリングの記事はこちら
サーバサイドレンダリング公式リファレンス
Nuxtアプリ(簡単バージョン)
1. nuxt_appというフォルダを作成し、移動
mkdir nuxt_app
cd nuxt_app
2. 移動したフォルダ内に、package.jsonを作成
package.json
{
"name":"nuxt_app",
"scripts":{
"dev":"nuxt"
}
}
3. nuxtをインストール
npm install --save nuxt
package-lock.jsonが作成されればOK
4. pages/index.vueを作成
mkdir pages
pages/index.vue
<template>
<div>Hello Vue!</div>
</template>
5. ビルド
npm run dev
.nuxtフォルダが作成されればOK
6. http://localhost:3000/ にアクセスし、下記が表示されれば成功!
Nuxtアプリ(本格バージョン)
1. アプリ作成
下記コマンドで、nuxt_second_appというアプリを作成
npx create-nuxt-app nuxt_second_app
下記質問に全て答えるーー!
名前:そのままenterを押してOK
? Project name (nuxt_second_app)
アプリの説明:そのままenterを押してOK
? Project description (My fabulous Nuxt.js project)
作成者の名前:赤文字のように、名前を記入
? Author name () tapitapi
プログラミング言語を選択:そのままenter(defaultのJavaScriptが選択される)
?Choose programming language (Use arrow keys)
❯ JavaScript
TypeScript?
パッケージ管理ツール選択:↓キーでNpmを選択してenter(Yarnを選択する場合はそのままenter)
Choose the package manager (Use arrow keys)
❯ Yarn
Npm?
Choose the package manager
Yarn
❯ Npm
UIフレームワークを選択:そのままenter(defaultのNoneが選択される)
? Choose UI framework (Use arrow keys)
❯ None
Ant Design Vue
Bootstrap Vue
Buefy
Bulma
Element
Framevuerk
iView
Tachyons
Tailwind CSS
Vuesax
Vuetify.js
サーバフレームワークを選択:そのままenter(defaultのNoneが選択される)
? Choose custom server framework (Use arrow keys)
❯ None (Recommended)
AdonisJs
Express
Fastify
Feathers
hapi
Koa
Micro
Nuxt.jsのモジュールで使用したいものを選択:そのままenter(何も選ばない)でOK
? Choose Nuxt.js modules (Press <space> to select, <a> to toggle all, <i> to invert selection)
❯◯ Axios
◯ Progressive Web App (PWA) Support
◯ DotEnv
※ iを押すと下記のように全てOn(選択)になるが、今回は全て選ばない
? Choose Nuxt.js modules (Press <space> to select, <a> to toggle all, <i> to invert selection)
❯◉ Axios
◉ Progressive Web App (PWA) Support
◉ DotEnv
Linting ツール(コード検査ツール)で使用したいものを選択:そのままenter(何も選ばない)でOK
? Choose linting tools (Press <space> to select, <a> to toggle all, <i> to invert selection)
❯◯ ESLint
◯ Prettier
◯ Lint staged files
◯ StyleLint
テストフレームワークで使用したいものを選択:そのままenter(何も選ばない)でOK
? Choose test framework (Use arrow keys)
❯ None
Jest
AVA
レンダリングモードを選択:今回はSSRを実現したいので、そのままenter
? Choose rendering mode (Use arrow keys)
❯ Universal (SSR)
Single Page App
開発ツールで使用したいものを選択:そのままenter(何も選ばない)でOK
? Choose development tools (Press <space> to select, <a> to toggle all, <i> to invert selection)
❯◯ jsconfig.json (Recommended for VS Code)
◯ Semantic Pull Requests
これで、nuxt_second_appというフォルダが作成され、その中にアプリが作成されます。(ネット環境によっては数分かかる場合あり)
2. nuxt_second_appフォルダ内に移動し、ビルド
cd nuxt_second_app
npm run dev
3. http://localhost:3000/ にアクセスし、下記が表示されれば成功!
以上ですー!
Vue.jsはphpやrailsと一緒に使うことでも、SSRを実現できます。
(私はRailsと一緒にVue使ってましたが、慣れればJQueryより簡単に実装できて好きでした)
でも、Nuxt.jsを使うと、同じVue.jsの文法だけ把握すれば、簡単にSSRを実装できるので、スマート!(JavaScriptはわかっていた方がいい)
Nuxtはデータベースと接続もできるみたいなので、今後もう少し深い内容を扱っていければと思います。
おやすみなさいぃぃ