ホームページ >ウェブフロントエンド >jsチュートリアル >Nuxt.js の動作: Vue.js サーバー側レンダリング フレームワーク
まず、Node.js と、yarn または npm がインストールされていることを確認してください。次に、コマンドラインを使用して新しい Nuxt.js プロジェクトを作成します。
yarn create nuxt-app my-nuxt-project cd my-nuxt-project
作成プロセス中に、UI フレームワーク、プリプロセッサなどのオプションが必要かどうかを選択し、必要に応じて構成できます。
Nuxt.js は特定のディレクトリ構造に従います。主要なディレクトリの一部は次のとおりです。
├── .nuxt/ # Automatically generated files, including compiled code and configuration ├── assets/ # Used to store uncompiled static resources, such as CSS, images, fonts ├── components/ # Custom Vue components ├── layouts/ # Application layout files, defining the general structure of the page │ └── default.vue # Default layout ├── middleware/ # Middleware files ├── pages/ # Application routes and views, each file corresponds to a route │ ├── index.vue # Default homepage │ └── [slug].vue # Dynamic routing example ├── plugins/ # Custom Vue.js plugins ├── static/ # Static resources, will be copied to the output directory as is ├── store/ # Vuex state management file │ ├── actions.js # Vuex actions │ ├── mutations.js # Vuex mutations │ ├── getters.js # Vuex getters │ └── index.js # Vuex store entry file ├── nuxt.config.js # Nuxt.js configuration file ├── package.json # Project dependencies and scripts └── yarn.lock # Or npm.lock, record dependency versions
pages/ ディレクトリにindex.vue ファイルを作成します。これはアプリケーションのホームページです:
<!-- pages/index.vue --> <template> <div> <h1>Hello from Nuxt.js SSR</h1> <p>{{ message }}</p> </div> </template> <script> export default { data() { return { message: 'This content is server-rendered!' }; }, asyncData() { // Here you can get data on the server side // The returned data will be used as the default value of data return { message: 'Data fetched on server' }; } }; </script>
Nuxt.js ページ レンダリングのプロセスは、サーバー側レンダリング (SSR) とクライアント側レンダリング (CSR) の 2 つの主要な段階に分かれています。 Nuxt.js ページ レンダリングの詳細な手順は次のとおりです。
ユーザーはブラウザに URL を入力し、サーバーにリクエストを送信します。
サーバーはリクエストを受信した後、処理を開始します。
Nuxt.js は、nuxt.config.js のルート設定 (存在する場合) を使用するか、pages/ ディレクトリからルートを自動的に生成します。
pages/index.vue や pages/about.vue など、対応するページ ファイルが識別されます。
Nuxt.js は、ページ コンポーネントで asyncData または fetch メソッドを探します (存在する場合)。
これらのメソッドはサーバー側で実行され、API または他のデータ ソースからデータを取得します。
データが取得されると、シリアル化されてページ テンプレートに挿入されます。
Nuxt.js は、Vue.js のレンダリング エンジンを使用して、コンポーネントとプリフェッチされたデータを HTML 文字列に変換します。
HTML 文字列には、クライアントが必要とするすべての初期データが含まれており、