プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • Nuxt.js
  • 【Nuxt.js】ディレクトリ構成(nuxt.config.js、middreware、p…
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Nuxt.js】ディレクトリ構成(nuxt.config.js、middreware、plugin、page、ルーティングなど)

07.14

  • miyabisan2
  • コメントを書く

この記事は3分で読めます

ディレクトリ構成一覧

構成要素 説明
.nuxt コマンドでのビルド結果はここに配置されます。
 └router.js pagesディレクトリ配下のファイルに対して、ルーティングの設定を行います。
store Vuexのストアファイルを配置します。Nuxt.jsではデフォルトでVuexを読み込んでいます。
static コンパイルしない静的なファイルを配置します。例:robots.txt等。「/(ルート)」でアクセスすることができます。
plugins アプリケーションをインスタンス化する前に実行したいJavaScriptプラグインを配置します。
pages Nuxt.jsにおいて一番重要なディレクトリになります。「ビュー」と「ルーティング」に関する役割を担います。「index.vue」に最初に表示させるページのHTMLを記述する。
package.json Nuxt.jsで使用するコマンド等を定義します。
nuxt.config.js 「コンテキストオブジェクト」への各種設定を行います。
middleware ページをレンダリングする前に実行される関数を定義して配置することができます。
layouts アプリケーションのレイアウトファイルを入れます。
 └default.vue デフォルトのレイアウトファイルになります。
└error.vue エラーページのレイアウトファイルになります。
components ビューで使用するためのコンポーネントを指定します。Nuxt.jsの影響下のファイルではなく、Nuxt.jsからは自動で読み込まれないので、ピュアなvueファイルになります。使用しないのであれば削除することが可能です。
assets LESSやSCSS等のコンパイルされていないファイルを配置します。
README.md
yarn.lock
node_modules

「nuxt.config.js」とは?

Nuxt.jsのデフォルト設定を上書きすることができるファイルのことです。

構文

下記のようにオプションを指定するようです。

1
2
3
export default {
  オプション: 値
}

オプション

loading

画面遷移時のローディングコンポーネントを上書きできます。

例

export default {

oading: '~/components/loading.vue'

}

Nuxt.js公式サイトより

css

どのファイルにも共通のcssをインクルードさせることができます。

router

Nuxt.jsのデフォルトのvue-router設定を上書きすることができます。

generate

ユニバーサルアプリから、静的なHTMLにルーティングさせたい場合に使います。

routes

静的な値を返せます。(関数を使えば、動的なURLも返すことは可能です。)

pluginディレクトリ

pluginsディレクトリに配置します。

pluginsディレクトリに配置したJavaScriptファイルは、インスタンス化する前に読み込まれるため、特に具体的に外部読み込みをしなくても、各ページを使う際に、プラグインとして使うことができます。

実装例

プラグイン名.js

1
2
3
import Vue from 'vue';
import 'プラグイン名' from 'プラグイン名';
Vue.use('プラグイン名');

middrewareディレクトリ

middleware/ファイル名.jsとして配置されたファイルは、ページをレンダリングするよりも前に実行される関数を定義して配置することができます。

middlewareを読み込む構文

1
2
3
4
<script>
export default{
middleware: ["読み込むファイル名"]};(middleware/ファイル名.jsを読み込む。)
</script>

middlewareの特徴

関数は、「コンテキストオブジェクト」となる。

ミドルウェアとして定義した関数は、第一引数として「コンテキストオブジェクト」を受け取ります。

コンテキストオブジェクトを利用することで、コンポーネント内のデータを操作することが可能です。

middlewareは、サーバーサイドで実行される。

middlewareで宣言するJavaScriptは、あくまでサーバーサイドで使うことができる関数となります。

「console.log()」等のクライアント・サーバー関係ない関数は問題ないですが、「alert」のようなクライアントで動くような関数は使えないので注意しましょう。

middlewareの利用例

ページをレンダリングする前等に実行されるので、認証処理等に活用するとよいでしょう。

pageディレクトリ

.vueファイルは、一つのページを指しており、これを「ページコンポーネント」と呼びます。

ページコンポーネントについては、詳しくは下記の記事で解説しています。

【Nuxt.js】「ページコンポーネント」(asyncData、fetch、コンテキスト、layout)

ルーティング設定(.nuxt/router.js)

ルーティング設定については、詳しくは下記の記事で解説しています。

【Nuxt.js】作成したページの「ルーティング」をさせてみる。

assets

LESSやSCSS等のコンパイルされていないファイルが配置されます。

Webpackによってビルドされるファイルが配置されます。(WebpackのLoaderの処理を適用することができます。)

Nuxt.jsでは、「file-loader」、「url-loader」を読み込むのでそれが使用されます。

スポンサーリンク
  • 2018 07.14
  • miyabisan2
  • コメントを書く
  • Nuxt.js
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 07.14

    【Nuxt.js】「ページコンポーネント」(asyncData、fetch、コンテキスト、layout)

  2. 2018 07.15

    【Nuxt.js】「ページコンポーネント」の属性「asyncData」について

  3. 2018 07.15

    【Nuxt.js】基本、インストール(アクセスできない問題、Nuxt.js専用のコンポーネントについて(nuxt-link等)、Buefy)、使用できるコマンドについて

  4. 2020 04.11

    【Vue.js】「Vuex」の概要、Nuxt.jsでの活用

  5. 2018 07.14

    【Nuxt.js】「レイアウトファイル」の使い方

  6. 2018 07.14

    【Nuxt.js】作成したページの「ルーティング」をさせてみる。

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Vue.js】「v-on(イベントハンドリング)」、…

【Nuxt.js】作成したページの「ルーティング」をさ…

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー