[Next.js]Zero config関連
11247 ワード
Zero config
Next.jsに接触し始めたばかりの頃はcreate-next-appが提供するボイラプレートを使用していましたが、Next.jsの長所の一つであるZero configを知りたいのですが、手動で環境を最初から設定したいのです.
まず、
$ npm init
を梱包します.jsonを生成します.必要なパッケージをインストールします
$ npm install react react-dom next
その後、いくつかのコードを作成して実行すればいいので、公式ファイルで提供されているコードを使用します.コードの位置はルートから/pagesパス内で生成されます.
// pages/index.tsx
import { useState } from 'react';
function Header({ title }) {
return <h1>{title ? title : 'Default title'}</h1>
}
function HomePage() {
const names = ['Ada Lovelace', 'Grace Hopper', 'Margaret Hamilton']
const [likes, setLikes] = useState(0)
function handleClick() {
setLikes(likes + 1)
}
return (
<div>
<Header title="Develop. Preview. Ship. 🚀" />
<ul>
{names.map(name => (
<li key={name}>{name}</li>
))}
</ul>
<button onClick={handleClick}>Like ({likes})</button>
</div>
)
}
export default HomePage;
スクリプトを作成して実行できます."scripts": {
"dev": "next dev"
},
また、$ npm run dev
コマンドから開始することもできますが、ここでタイプスクリプトを使用する場合は、追加する必要があります.$ touch tsconfig.json
を使用して空のファイルを生成し、typescriptに関連するコンパイルを設定します.そして今
$ npm run dev
命令で終わります.ただしtypescript関連のパッケージはまだインストールされていないため、nextはインストールする必要があるものを親切に教えてくれます.私に教えてくれた
npm install --save-dev typescript @types/react @types/node
コマンド語を使用して、追加のパッケージをインストールします.では、かばんです.jsonの様子は以下の通りです.
// package.json
{
"name": "self-next",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "next dev"
},
"author": "",
"license": "ISC",
"dependencies": {
"next": "^12.1.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
},
"devDependencies": {
"@types/node": "^17.0.21",
"@types/react": "^17.0.40",
"typescript": "^4.6.2"
}
}
そして本当に$ npm run dev
コマンドを実行すると次は自動的にtsconfigを実行しますjsonを発見しtsconfigを行った.jsonとnext-env.d.tsファイルを生成し、タイプスクリプトに関する設定を理解して設定し、以下に示すように正常に実行します.最終的なディレクトリ構造は次のとおりです.
実際、reactではcraなしでここまで実行するためには、webパッケージに関するインストールや設定などの作業がたくさん必要で、タイプスクリプトに設定するものがたくさんあるので、上記の手順を考えてみると、本当に簡単に実行できるのかと驚きました.
Reference
https://nextjs.org/learn/foundations/from-react-to-nextjs/getting-started-with-nextjs
https://nextjs.org/docs/basic-features/typescript
Reference
この問題について([Next.js]Zero config関連), 我々は、より多くの情報をここで見つけました https://velog.io/@jiseong/Next.js-Zero-config-관련テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol