1. 程式人生 > >用vue-cli 與vuex一步一步搭建一個筆記應用(一)

用vue-cli 與vuex一步一步搭建一個筆記應用(一)

寫這篇文章是因為想學習一下vuex,說實話,一直在用vue,但是它核心的vuex卻還沒有用過。
https://segmentfault.com/a/1190000005015164
這篇文章寫得很好,就是有點舊了,那個時候是1年前寫的吧。

現在我將用vue-cli自動化構建工程,然後搭配vuex來搭建一個筆記應用。

第一步 vue-cli

vue-cli安裝非常簡單,它為我們節省了很多webpack配置檔案。

# 安裝 vue-cli
npm install -g vue-cli

# 初始化 webpack 專案
vue init webpack my-project
cd my-project
# npm可能出現訪問速度極慢的情況,推薦使用cnpm npm install #安裝 vux 發版請使用 npm install [email protected] npm install vux #安裝less-loader, vuejs-templates模板預設不安裝less less-loader npm install less less-loader --save-dev # 除錯 npm run dev

這是我們的安裝日誌:

這裡寫圖片描述

後面詢問了是否用vue-router 我選擇了no,因為這裡應該用不到vue-router吧(如果要用,我們後面再安裝吧)

這裡寫圖片描述

看一下生成的目錄檔案:

  • build資料夾是npm run build之後構建的build檔案,以及一些配置檔案,
  • config資料夾放的是一些配置檔案。
  • static故名思義是靜態檔案。
  • index.html是主頁面,當然這裡面只有一個div節點名為app。
  • 最重要的是src資料夾:
    • 這裡面的幾個資料夾assets 存放靜態檔案,比如圖片等,說明一下,vue一般是把css寫在每個vue中的
    • components是元件,一個頁面可以理解為由很多很多的元件組成的。
    • app.vue就是主要的頁面,可以理解為把這些元件組合起來的檔案。
    • main.js其實是用於組合app.vue 和index.html

ok 我們npm run dev來看看。
這裡寫圖片描述


哦嗚這裡報錯了。
看日誌說是Error: Cannot find module ‘wrappy’找不到wrappy模組。
我這裡再單獨下載wrappy: cnpm install -g wrappy 也無法解決。

tipS:遇到這種問題,乾脆直接把node_modules資料夾刪了吧,然後重新npm install。有時候檔案放久了之後也會有這個問題。反正重新npm install就好了。

接著重新npm run dev,可以看到程式已經執行起來了。
這裡寫圖片描述

預設是8080埠,如果你的8080埠被佔用了,也會報錯,當然這個埠號也可以自己去配置的,這裡就不說了。

這裡寫圖片描述

這裡顯示的頁面其實就是components/Hello.vue ,可以自己改Hello.vue來看看,這裡也不寫了,而且這裡自動構建的是熱載入(即你一修改完,頁面就會相應的顯示,不需要再npm run dev)。下面就開始構建筆記應用了。

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <h2>Essential Links</h2>
    <ul>
      <li><a href="https://vuejs.org" target="_blank">Core Docs</a></li>
      <li><a href="https://forum.vuejs.org" target="_blank">Forum</a></li>
      <li><a href="https://gitter.im/vuejs/vue" target="_blank">Gitter Chat</a></li>
      <li><a href="https://twitter.com/vuejs" target="_blank">Twitter</a></li>
      <br>
      <li><a href="http://vuejs-templates.github.io/webpack/" target="_blank">Docs for This Template</a></li>
    </ul>
    <h2>Ecosystem</h2>
    <ul>
      <li><a href="http://router.vuejs.org/" target="_blank">vue-router</a></li>
      <li><a href="http://vuex.vuejs.org/" target="_blank">vuex</a></li>
      <li><a href="http://vue-loader.vuejs.org/" target="_blank">vue-loader</a></li>
      <li><a href="https://github.com/vuejs/awesome-vue" target="_blank">awesome-vue</a></li>
    </ul>
  </div>
</template>

<script>
export default {
  name: 'hello',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>