Nuxt 3の最初の観察
We are excited to open source Nuxt 3 after more than a year of intense development. On top of supporting Vue 3 or Vite, Nuxt 3 contains a new server engine, unlocking new full-stack capablities to Nuxt server and beyond.
Nuxtの目標は、念頭に置いて偉大な開発者の経験を維持しながら、直感的で、ウェブ開発を行うことです.オリジナルのバージョンSébastien Chopin in October 2016 次の機能をエミュレートします.しかし、代わりにVueと反応する.バージョン3はover a year in the making そして、以下から成りますcore packages :
Nuxt 2プロジェクトをNuxt 3に移行する方法
Nuxt 2プロジェクトを持っていない場合は、セクションに進んでください
現時点ではNuxt 3の移行ガイドにNuxt 2はない、それは潜在的により多くの変更が来るために推奨されています.チームは、NXT橋の形で可能な限りスムーズにするために安定した移行ガイドとツールを提供するために働いています.あなたが既存のNuxT 2プロジェクトを持っているならば、チームは強くあなたが壊変変化を避けている間、Nuxt橋を新しい特徴で実験するために始めることを勧めます.ブリッジは、Nuxtモジュールをインストールして、有効にすることによって、新しいNuxt 3機能を経験することができる前方互換性層です.
すべてのNuxt 2モジュールは、彼らがブリッジに移行するか、彼らがすでにガイドラインに従っているならば、Nuxt 3とフォワード互換性を持つべきです.すべてのモジュール
@nuxt/kit
彼らはNuxt 3/ブリッジのみの機能に依存していない限り、Nuxt 2プロジェクト(ブリッジなしで)と後方互換性があります.Nuxt 3はネイティブ的にtypescriptとecmascriptモジュールをサポートしているので、CommonJackの構文を避けるのは便利です__dirname
, __filename
, require()
, and module.exports
できるだけ.オンラインで試してください
我々はゼロからNuxtアプリケーションを構築する予定です.しかし、あなたはどちらかであなたのブラウザーでNuxtStackBlitz or CodeSandBox .
ゼロからNuxt 3プロジェクトをつくってください
プロジェクトは3つのファイルだけから始まります.
.gitignore
誤ってコミットされないものをコミットするのを避けるpackage.json
スクリプトと依存関係を定義するにはapp.vue
Vueアプリケーションを表示するにはpages
とapi
後で.mkdir ajcwebdev-nuxt3
cd ajcwebdev-nuxt3
touch package.json app.vue
echo 'node_modules\n.DS_Store\n*.log\n.nuxt\nnuxt.d.ts\n.output' > .gitignore
この記事のすべてのコードを見つけることができますon my GitHub .アプリケーションファイル
app.vue
The app.vue
ファイルは、Nuxt 3アプリケーションの主なコンポーネントです.Nuxt 3 ,pages/
ディレクトリはオプションで、存在しない場合はNuxtは含まれませんvue-router 依存.これは、ランディングページまたはルーティングを必要としないアプリケーションで作業するときに便利です.<!-- app.vue -->
<template>
<div>
<h2>ajcwebdev-nuxt3</h2>
</div>
</template>
app.vue
NuXTアプリケーションの主なコンポーネントとして機能します.これはJavascriptやCSSのようなグローバルなものになり、すべてのページに含まれています.package.json
あなたのpackage.json
, 次のスクリプトを追加しますdev
, build
, and start
) とともにlatest
バージョンnuxt3
開発依存.{
"scripts": {
"dev": "nuxi dev",
"build": "nuxi build",
"start": "node .output/server/index.mjs"
},
"devDependencies": {
"nuxt3": "latest"
}
}
NuxiはNuxt 3用の新しいCLIです.nuxi dev
- 開発サーバnuxi build
- 生産資産を作るstart
ノードを使用して、サーバーのために生成された束の出力を実行するスクリプトnuxi build
.開発サーバ
The
yarn dev
コマンドは、開発モードでNuXTアプリを起動し、ホットモジュールの置換が含まれます.を含めることができます--open
フラグを自動的に起動後にブラウザを開きます.yarn dev
CLIは、実行中のアプリケーションとパフォーマンスのメトリクスにリンクを表示します.Nuxt CLI v3.0.0-27237303.6acfdcd
> Local: http://localhost:3000/
> Network: http://192.168.1.242:3000/
ℹ Vite warmed up in 592ms
✔ Generated nuxt.d.ts
✔ Vite server built in 903ms
✔ Nitro built in 112 ms
オープンlocalhost:3000 あなたのアプリケーションを参照してください.ビルドフォープロダクション
The
yarn build
コマンドは、生産のためにあなたのNuxTアプリケーションを構築します.それは.output
配備される準備ができているあなたのアプリケーション、サーバーと依存関係をもつディレクトリ.yarn build
Nitroは独立している独立型サーバDISTを生成しますnode_modules
. 出力は、両方のランタイムコードを使用してNuXTサーバーを任意の環境で実行し、静的なファイルを提供しています.ネイティブストレージ層も、マルチソース、ドライバとローカル資産をサポートするために実装されます.ページディレクトリ
The
pages/
ディレクトリはオプションです.app.vue
, vue-router
含まれないでください、あなたのアプリケーション束サイズを減らしてください.しかし、あなたがそれを含むならば、nuxtは自動的に統合しますVue Router とマップpages/
ディレクトリをアプリケーションのルートにします.rm -rf app.vue
mkdir pages
touch pages/about.vue pages/index.vue
削除app.vue
で、以前のホームページのコンテンツが含まれますindex.vue
.<!-- pages/index.vue -->
<template>
<div>
<h2>ajcwebdev-nuxt3</h2>
</div>
</template>
また、作成about.vue
アバウトページ.人々があなたのものについてのものを知っていることを確認するために、以下のコードを含めてください.<!-- pages/about.vue -->
<template>
<div>
<h2>This page tells you stuff about things!</h2>
</div>
</template>
オープンlocalhost:3000/about .サーバエンジン
Nuxt 3はNitroと呼ばれる新しいサーバエンジンによって供給されます.ニトロは開発・生産に使われる.これは、ノードのクロスプラットフォームのサポートが含まれます.JS、ブラウザー、およびサービスの労働者とボックスのサーバーレスサポート.その他の機能は、APIルート、自動コードの分割、非同期ロードチャンク、およびハイブリッド静的/無制限のモードが含まれます.サーバAPIエンドポイントと内部的に使用するミドルウェアh3 をニトロに加える.
res.end()
and next()
もサポートされている).$fetch
ヘルパー.これは、ブラウザ上で実行されている場合は、サーバーへのAPI呼び出しを行いますが、サーバー上で実行する場合は、関連する関数を呼び出すだけで、追加のAPI呼び出しを保存します.The $fetch
API使用ohmyfetch です.Content-Type
ヘッダ追加APIルート用のサーバディレクトリ
The
server/
ディレクトリには、プロジェクトのAPIエンドポイントとサーバーミドルウェアが含まれます.これは、Nuxtアプリケーションのバックエンドロジックを作成するために使用されます.Nuxtは自動的に任意のファイルに読み込まれます~/server/api
APIエンドポイントを作成するディレクトリ.各ファイルはAPIリクエストを処理するデフォルト関数をエクスポートします.mkdir -p server/api
touch server/api/hello.js
次のコードを追加しますhello.js
.// server/api/hello.js
export default (req, res) => '<h2>Hello from Nuxt 3</h2>'
オープンlocalhost:3000/api/hello .Netlifyへの配備
あなたがJamstackプラットホームでそれを展開することができないならば、フレームワークのポイントは何ですか?
touch netlify.toml
[build]
command = "yarn build"
publish = "dist"
functions = ".output/server"
[[redirects]]
from = "/*"
to = "/.netlify/functions/index"
status = 200
リポジトリの作成
git init
git add .
git commit -m "the nuxt best thing"
gh repo create ajcwebdev-nuxt3
git push -u origin main
NetLifyアカウントにレポを接続します.ビルドコマンドと発行ディレクトリは
netlify.toml
ファイル.最後に、カスタムドメインを与えます.
オープンajcwebdev-nuxt3.netlify.app/ .
Reference
この問題について(Nuxt 3の最初の観察), 我々は、より多くの情報をここで見つけました https://dev.to/ajcwebdev/a-first-look-at-nuxt-3-1769テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol