Nuxt3로 웹 페이지를 만들려면

19263 단어 Nuxt 3tech
모두 다섯 번 중 첫 번째.

Nuxt3 애플리케이션 시작


// アプリケーションフォルダに移動後
$ npx nuxi init .
// パッケージ依存の作成
$ yarn install
여기는 아래 폴더로 구성되어 있어야 합니다.
.
├── README.md
├── app.vue
├── node_modules
├── nuxt.config.ts
├── package.json
├── tsconfig.json
└── yarn.lock
시작하여 페이지가 일어날지 확인합니다.
$ yarn dev

Nuxt CLI v3.0.0-27307420.6a25d3e

  > Local:    http://localhost:3000/ 
  > Network:  http://192.168.1.2:3000/

ℹ Vite warmed up in 645ms
✔ Vite server built in 1038ms
✔ Nitro built in 147 ms
여기 보이는 것은 앱입니다.이것은 vue에 쓴 내용입니다
<template>
  <div>
    <NuxtWelcome />
  </div>
</template>

페이지와components 제작


nuxt2는 시작과 동시에 레이아웃과 페이지를 만들었지만 nuxt3는 그런 배려 없이 직접 만들었습니다.
개인적으로 기본적으로 만들어진layouts/default에서 필요하지 않은 탭을 삭제하거나 inspire 페이지를 삭제하는 것은 번거롭기 때문에 이 페이지들은 자동으로 만들 수 없어서 너무 좋습니다.
이렇게 말하지만 이렇게 되면 무엇부터 시작해야 좋을지 모르니 최소한의 구성을 만들어보자.
페이지에서 index와about 두 파일을 만듭니다
pages
├── about.vue
└── index.vue
pages/index.vue
<template>
    <h1>This is index Page</h1>
</template>
pages/about.vue
<template>
    <h1>This is about Page</h1>
</template>
이렇게 하면 반영되지 않고 응용된다.vue의 NuxtWelcome 덮어쓰기
<template>
  <div>
    <NuxtPage />
  </div>
</template>
이렇게 하면localhost:3000/about 페이지가 나타날 것입니다.

레이아웃을 디자인하다


페이지를 더욱 현실적으로 하기 위해서, 눈썹과 사이드바를 더해 주십시오.
(단, 정식 디자인은 Tailwind와 Vuetify로 완성되었기 때문에 여기에는 최소한의 CSS로 기술합니다.)

먼저 페이지의 외관입니다.



app.vue


<template>
  <div>
    <Header class="header" /> 
    <div class="middle">
      <Navigation class="navigation" />
      <NuxtPage class="main"/>
    </div>
  </div>
</template>

<style>
.header{
    position: fixed;
    width: 100%;
    height: 50px;
    z-index: 1;
}

.middle{
    position:absolute;
    top:50px;
    display:flex
}

.navigation{
    position: fixed;
    height: 100%;
    width:150px;
}

.main{
    position: relative;
    left:150px
}
</style>

components/Header.vue


 <template>
    <div class="header">
        <h1>タイトル</h1>
    </div>
</template>

<style>
.header{
    background-color:blue;
    color: aliceblue;
    display:flex;
}
</style>

components/Navigation.vue


<template>
<div class="navigation">
    <ul>
        <li>インデックス</li>
        <li>アバウト</li>
    </ul>    
</div>

</template>

<style>
.navigation{
    background-color:lightgrey;
    padding: 12px;
}
</style>

pages/index.vue


<template>
    <div>
        <h1>This is index Page</h1>
        <div v-for="n in 10" :key="n" class="article">
            <h3>タイトル {{n}} </h3>
            <p>
                Lorem ipsum dolor sit amet consectetur adipisicing elit. Nesciunt perspiciatis repudiandae eveniet at totam? Animi sapiente, ipsam sed laudantium hic saepe modi adipisci odio commodi deserunt nihil expedita amet aperiam.
            </p>
        </div>    
    </div>
</template>

<style scoped>
.article{
    margin: 8px;
}
</style>

링크


색인과 응용 프로그램에 탭을 추가하여 연결합니다.

components/Navigation.vue


<template>
<div class="navigation">
    <ul>
        <li>
            <nuxt-link to="/">インデックス</nuxt-link>
        </li>
        <li>
            <nuxt-link to="/about">アバウト</nuxt-link>
        </li>
    </ul>    
</div>

</template>

<style>
.navigation{
    background-color:lightgrey;
    padding: 12px;
}
</style>
이렇게 되면 프레임이 완성된다.
나는 Vite의 속도에 감동했다.
Tailwindscss를 가져옵니다.

좋은 웹페이지 즐겨찾기