SlideShare a Scribd company logo
1 of 32
Download to read offline
Nuxt.jsで手軽に構築する
モダン・フロントエンド開発環境
1
土屋大輔(つっちー)
• フロントエンド@LIG
• ソーシャルゲーム運用開発: 3年
• Web制作: 1年半【←いまココ】
• 大好き:HTML / CSS / JS
• 最近:Netlify
2
目次
1. Nuxt.jsとは?
2. Nuxt.jsが構築する開発環境
3. Nuxt.jsの使い方
4. まとめ
3
1. Nuxt.jsとは?
4
1. Nuxt.jsとは?
Vue.jsアプリケーションを静的に生成する
機能を持つフレームワーク
「静的に生成する」=
「JSによるDOM生成までが完了した状態を
 出力する」
5
1. Nuxt.jsとは?
• リクエストを待ち受けて、静的に生成する
→ SSRを実現するフレームワーク
• コマンド実行で、静的に生成する
→ ビルドツール・静的サイトジェネレーター
6
1. Nuxt.jsとは?
→ フロントエンド開発の広範囲をカバー!
7
2. Nuxt.jsが構築する開発環境
8
2. Nuxt.jsが構築する開発環境
• JS
• ES 20XX
• import / export
• async / await
• class
• arrow function …
• Preprocessor
• TypeScript, CoffeeScript
9
2. Nuxt.jsが構築する開発環境
• CSS
• scoped CSS
• automatic vendor prefixes
• PostCSS
• CSS variables
• nesting …
• Preprocessor
• Sass, Less, Stylus
10
2. Nuxt.jsが構築する開発環境
• HTML
• preload
→ ページ読み込みを妨げずにリソースを早期取得
• prefetch
→ 遷移候補ページのリソースを事前取得
• Preprocessor
• Pug
11
2. Nuxt.jsが構築する開発環境
• 画像
• Base64 Encode
12
2. Nuxt.jsが構築する開発環境
• その他
• Local Server
• Hot Reloading
• Lint
• Source Map
• Bundling
• Minifying
13
2. Nuxt.jsが構築する開発環境
→ モダン!全部入り!
14
3. Nuxt.jsの使い方
15
3. Nuxt.jsの使い方
• コマンド
• セットアップ
16
$ npm i -g vue-cli
$ vue init nuxt-community/starter-template <project-name>
$ cd <project-name>
$ npm i
3. Nuxt.jsの使い方
• コマンド
• 開発サーバー起動
17
$ nuxt
$ nuxt build
$ nuxt start
• 待ち受け開始(本番サーバー起動)
3. Nuxt.jsの使い方
• コマンド
• ファイル生成
18
$ nuxt generate
3. Nuxt.jsの使い方
• 記法と仕組み
• 最低限知っておくべきこと
0. 日本語ドキュメントがある!
• https://ja.nuxtjs.org/
• 必須知識を4点ピックアップ →
19
3. Nuxt.jsの使い方
• 記法と仕組み
• 最低限知っておくべきこと
1. Vueコンポーネントの記法
• template, style, script要素からなる
20
21
<!-- *.vue -->
<template>
<!-- HTMLを記述。template要素直下の要素は兄弟要素を持てないことに注意 -->
</template>
<style scoped>
/* CSSを記述。scoped属性付与ででスコープがtemplate要素内に限定される */
</style>
<script>
// JSを記述
</script>
3. Nuxt.jsの使い方
• 記法と仕組み
• 最低限知っておくべきこと
2. pages/**/*.vue
• ページを表すVueコンポーネント
• これらのファイルの配置で、ルーティングや
静的ファイルのディレクトリ構造が決まる
22
23
# ページごとのコンポーネント
pages/index.vue
pages/about.vue
pages/service/business.vue
pages/service/consumer.vue
# ルーティング
/
/about
/service/business
/service/consumer
# nuxt generateで生成されるファイル
dist/index.html
dist/about/index.html
dist/service/business.html
dist/service/consumer.html
3. Nuxt.jsの使い方
• 記法と仕組み
• 最低限知っておくべきこと
3. head要素の内容を設定する方法
• pages/**/*.vue のscript要素内で設定
24
25
<!-- pages/**/*.vue -->
<script>
// headメソッドを持つオブジェクトをexportする
export default {
head () {
return {
title: 'News | LOREM IPSUM',
meta: [
{name: 'description', hid: 'description', content: 'Lorem ipsum.'},
{name: 'keywords', hid: 'keywords', content: 'lorem,ipsum,nuxt'},
]
}
}
}
</script>
3. Nuxt.jsの使い方
• 記法と仕組み
• 最低限知っておくべきこと
4. nuxt-linkコンポーネント
• aタグ
• 全体更新。通常のページ遷移
• nuxt-linkコンポーネント
• 部分更新と、HistoryAPIによるURL変更
26
27
<!-- *.vue -->
<template>
...
<a href=“/news”> <!-- 全体更新。通常の遷移 -->
News
</a>
<nuxt-link to=“/about”> <!-- 部分更新と、HistoryAPIによるURL変更 -->
About
</nuxt-link>
...
</template>
3. Nuxt.jsの使い方
• 記法と仕組み
• 次に知っておきたいこと
• layouts/**/*.vue
• Vueコンポーネントの再利用
などなど
• あとは必要に応じて
28
3. Nuxt.jsの使い方
→ らくらく構築!日本語ドキュメント!
29
4. まとめ
30
4. まとめ
• Nuxt.jsとは?
• 広汎なFE開発FW (SSR, 静的サイトジェネレーター)
• Nuxt.jsが構築する開発環境
• モダン!全部入り!
• Nuxt.jsの使い方
• 手軽に導入!日本語ドキュメント!
31
ありがとうございました。
32

More Related Content

What's hot

Windows azure
Windows azureWindows azure
Windows azuresuno88
 
Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料
Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料
Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料慎二 山田
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築kamiyam .
 
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリットSails.jsのメリット・デメリット
Sails.jsのメリット・デメリットIto Kohta
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口Sunao Tomita
 
20130417 movbale type_seminar
20130417 movbale type_seminar20130417 movbale type_seminar
20130417 movbale type_seminarSix Apart
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときRyunosuke SATO
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようmizusawa
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Nobuhiro Nakashima
 
Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみたReactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみたTsuyoshi Maeda
 
Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...
Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...
Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...GoAzure
 
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介kamiyam .
 
第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村Koichi Uchimura
 
5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史Sunao Tomita
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発するHiroyuki Kusu
 
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureA 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureGoAzure
 

What's hot (20)

Scala web framework比較
Scala web framework比較Scala web framework比較
Scala web framework比較
 
Windows azure
Windows azureWindows azure
Windows azure
 
Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料
Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料
Nuxt.js入門 2018/02/02 Vue.js入門勉強会@渋谷 発表資料
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
 
Nuxt0501ver1
Nuxt0501ver1Nuxt0501ver1
Nuxt0501ver1
 
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリットSails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
 
20130417 movbale type_seminar
20130417 movbale type_seminar20130417 movbale type_seminar
20130417 movbale type_seminar
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
Vsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみようVsug day 2010 summer windows azure でやってみよう
Vsug day 2010 summer windows azure でやってみよう
 
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
 
Reactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみたReactとbabelで簡易タスク管理ツール作ってみた
Reactとbabelで簡易タスク管理ツール作ってみた
 
Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...
Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...
Technical session 2 iaa s 始めました~自社内にある windows も linux もそして sql server も azur...
 
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介
 
第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村第6回鹿児島node.jsの会2資料_内村
第6回鹿児島node.jsの会2資料_内村
 
5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史5分で振り返る windows azure の歴史
5分で振り返る windows azure の歴史
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
 
Node.js Hands-On
Node.js Hands-OnNode.js Hands-On
Node.js Hands-On
 
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azureA 2-1 gitwebmatrix 2 から使う node.js on windows azure
A 2-1 gitwebmatrix 2 から使う node.js on windows azure
 

Similar to Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境

Unityの最新動向と開発事例
Unityの最新動向と開発事例Unityの最新動向と開発事例
Unityの最新動向と開発事例Haruto Watanabe
 
新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptx新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptxRyo Higashigawa
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来Unite2017Tokyo
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来Unity Technologies Japan K.K.
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Tanaka Yuichi
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実Takumi Ohashi
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化DeNA
 
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェアLinux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェアHiroko Umetsu
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsTadahiro Ishisaka
 
オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうMitsuhito Ishino
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Yoshito Tabuchi
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーAkihiro Matsuura
 
Cocos2d xでぬるぬる動くビルダー機能実装
Cocos2d xでぬるぬる動くビルダー機能実装Cocos2d xでぬるぬる動くビルダー機能実装
Cocos2d xでぬるぬる動くビルダー機能実装和樹 川端
 
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCPMichaelFindlater
 
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみたSeiya Konno
 

Similar to Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境 (20)

Unityの最新動向と開発事例
Unityの最新動向と開発事例Unityの最新動向と開発事例
Unityの最新動向と開発事例
 
新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptx新しいWEBフロントの開拓.pptx
新しいWEBフロントの開拓.pptx
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
 
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実HTML5でスマートフォン開発の理想と現実
HTML5でスマートフォン開発の理想と現実
 
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
 
.NET vNext
.NET vNext.NET vNext
.NET vNext
 
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェアLinux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
Linux も動く Microsoft Azure HoloLens にも対応した次世代マルチプレイミドルウェア
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
 
Jenkins on-mac
Jenkins on-macJenkins on-mac
Jenkins on-mac
 
オレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そうオレたちとVisual Studioとの関係を話そう
オレたちとVisual Studioとの関係を話そう
 
Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版Xamarin 概要 2014年08月版
Xamarin 概要 2014年08月版
 
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナーCocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
 
Cocos2d xでぬるぬる動くビルダー機能実装
Cocos2d xでぬるぬる動くビルダー機能実装Cocos2d xでぬるぬる動くビルダー機能実装
Cocos2d xでぬるぬる動くビルダー機能実装
 
【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP【日本語版】Styler: Our Journey to GCP
【日本語版】Styler: Our Journey to GCP
 
月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた月刊ライトニングトーク 2014/05 atom-shell を試してみた
月刊ライトニングトーク 2014/05 atom-shell を試してみた
 
0831 node学園lt
0831 node学園lt0831 node学園lt
0831 node学園lt
 
.NETの最近
.NETの最近.NETの最近
.NETの最近
 

Nuxt.jsで手軽に構築するモダン・フロントエンド開発環境