利用vue-cli手動設定各種插件並做個簡單的404page吧!(30Days challenge-6)

前言

今天並不是一個完整的專案,只是一個非常非常簡單的component! 404page!
有在用vue開發的朋友對於vue-cli或是Nuxt.js應該都不會太陌生,尤其vue-cli對於初學的使用者來說相當的簡單好用,不過一般我們在學習時用的都會是default的設定,今天就來記錄一下怎麼樣在專案創始階段就載入你所需要的插件!最後我們再配合vue-router弄個簡單的404page!

使用技術

  • vue-cli
  • bootstrapVue
  • Sass/SCSS
  • vue-router

簡單的手動設定流程

若你還沒安裝vue-cli,可以藉由以下指令進行全域安裝。

npm install -g @vue/cli

接著在終端機輸入指令

vue create my-project

你應該會看到以下的畫面,有default & Manually select features(有多一個不要管,文章最後會說明為什麼會有vue-adopt這選項)。

點選後你會看到一連串的清單,按下空白(space)就可以選擇你要加裝的套件,這邊我選擇Router Vuex & Css預處理。

接著會有一連串的次要設定,這些就不是本篇的重點,我會簡單帶過。

Use history mode for router?Yes
Pick a CSS pre-processor Sass/Scss (with node-sass)
Pick a linter / formatter config: Basic
Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? In dedicated config files

最後則會問你

Save this as a preset for future projects? (y/N)

也就是你是否想要將以上的設置作為一個preset存起來供你以後使用,會要求你輸入這個preset的名稱,這就是一開頭的vue-adopt的由來了~!

執行完後你的專案架構應該會長這個樣子~!因為有追加vuex & router,會與預設的稍為不一樣。

製作簡單的404page並與router連接

首先先在views裡面增加一個NotFound.vue檔案,並寫入以下內容

//NotFound.vue
<template>
  <div>
    <div class="containers d-flex flex-column align-items-center justify-content-center">
      <h1>
        4
        <span></span>
        4
      </h1>
      <p>The page you are looking for might have been remove had it's name changed or its temporaily unavailable</p>
      <router-link to="/" class="btn btn-primary">
        Home page
        <b-icon icon="cursor-fill" variant="dark"></b-icon>
      </router-link>
    </div>
  </div>
</template>

<style lang="scss" scoped>
.containers {
  width: 100vw;
  height: 100vh;
  background-color: #333;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-family: "Montserrat", sans-serif;

  h1 {
    font-size: 10rem;
    display: inline;
    & > span {
      display: inline-block;
      width: 120px;
      height: 120px;
      background-image: url("../../public/img/emoji.png");
      background-size: cover;
      margin: 0px;
    }
  }

  .btn {
    border-radius: 40px;
  }
}
</style>

接著到router/index.js中引入NotFound並串接,之後可能會有個vue-router的教學文章,這邊就簡單帶過:D

import NotFound from '../views/NotFound.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'home',
    component: Home
  },
  {
    path: '*',
    name: 'notFound',
    component: NotFound
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

這樣當你啟動網站後,隨便在輸入不存在的url時便會將你帶到你剛剛設置好的404page囉!

參考文章

Vue-Cli

發表留言