Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nuxt 入門

Avatar for Knovour Knovour
July 12, 2017
260

Nuxt 入門

Avatar for Knovour

Knovour

July 12, 2017

Transcript

  1. 㛂遤 "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt

    start", "generate": "nuxt generate", // ⽣生成靜態⾴頁⾯面 "analyze": "nuxt build --analyze" // ⽣生成 bundle 解析圖 }, "config": { "nuxt": { "host": "0.0.0.0", "port": 9000 } }, package.json
  2. 㼠呪穡圓  BTTFUT佞㕬晚$44瘞  DPNQPOFOUT穉⟝  MBZPVUTSPVUFⴗ䳖儘♶剚隶⹛涸鿈ⴕ  NJEEMFXBSF 

    QBHFT⚺銴갤꬗⟃须俲㣰穡圓莅墂そ⢵⼦ⴕSPVUF  QMVHJOT佞겙㢫鯺Ⰵ涸KT  TUBUJDSPCPUUYU瘞ꬆ䢀暟⟝  TUPSF7VFY  OVYUDPOHKT import Header from '~components/Header'
  3. Layout FSSPSWVF <template> <div class="container"> <h1 v-if="error.statusCode === 404">Page not

    found</h1> <h1 v-else>An error occurred</h1> <nuxt-link to="/">Home page</nuxt-link> </div> </template> <script> export default { props: ['error'], // statusCode & message } </script>
  4. Pages pages/ --| _slug/ -----| comments.vue # /:slug/comments -----| index.vue

    # /:slug --| users/ -----| _id.vue # /users/:id -----| index.vue # /users --| users.vue --| index.vue # / 把它當成 users 額外專屬的 layout,透過 nuxt-child 進入
  5. Store import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex)

    export default new Vuex.Store({ // Do Something }) JOEFYKT 有這個檔案,Nuxt 才會把 Vuex 打包
  6. nuxt.config.js 〫⴪䌢欽涸 module.exports = { srcDir: '', // 指定專案下的資料夾為 src(預設為專案⽬目錄)

    env: {}, // 直接設定 process.env.XXX head: {}, // 預設 meta、link、script 等 css: [], // Global CSS loading: {}, // ⾴頁⾯面切換載入時的 progress bar plugins: [], // 額外載入的 js build: {}, // 額外的 webpack 設定 router: {} // 客制 route, transition: ‘', // 指定⾴頁⾯面切換特效 cache: '', dev: true, generate: {}, }
  7. "1*穡圓 export default { asyncData (context) { return {}; //

    內容將會被併入 data }, fetch (context) { return Promise; // ⾴頁⾯面切換 / SSR 前會呼叫 }, head () { // vue-meta }, layout: 'default', middleware: '', scrollToTop: true, transition: '', // ⾴頁⾯面切換特效 validate (context) { // 判斷⾴頁⾯面是否正確 } }
  8. DPOUFYU  JT$MJFOUJT4FSWFSJT%FW  SPVUFWVFSPVUFS  TUPSF7VFY  FOW 

    QBSBNTRVFSZ  SFRSFT  SFEJSFDU  FSSPSTIPXMBZPVUFSSPSWVF
  9. ⾃自定義 route router: { extendRoutes (routes) { routes.push({ name: 'register',

    path: '/register', component: path.resolve(__dirname, 'src/pages/user-entry') }, { name: 'login', path: '/login', component: path.resolve(__dirname, 'src/pages/user-entry') }) } } nuxt.config.js