前端部分之code位於範例專案中之\Frontend
資料夾裡
以下介紹本範例前端部分是怎麼建立的
vue create your-project-name
當前面安裝好vue cli後,這邊就可以使用cli輔助建立專案了
開啟command line執行
vue create your-project-name
以下是本範例專案選擇的選項:
node_modules
中用vue cli的好處是,他會幫妳做掉很多細部的設定
讓你省掉很多自己設定package.json
的工
更多細節內容可以參考以下文章:
這邊概略介紹一下專案結構,更多有關vue專案結構的說明可以參考Vue CLI 專案結構及解析
npm install
來下載相依套件vue create project
後,一開始預設的src資料夾src-origin
後保存,讓大家可以自行比較一下差異到/Frontend
也就是有packages.json
的目錄後,開啟command line執行
npm run serve
便可開啟一個開發用的server
此外也可以使用vue ui
來啟動ui介面操作開發環境
關於vue ui,本範例不會著墨太多,更多相關內容可以參考Day29 vue.js - Vue cli 3 UI安裝介面及項目結構介紹
vue 本身有開發一個[輔助開發工具],在開發上有很大的幫助
像是觀察組件中之數值,這樣就不用一直console.log
去看值
輔助工具本身有設計成營運環境就不能使用,但這是可以被破解的
因此機敏的東西絕對不要放前端
更多介紹的文章可以參考:
一般開發時,都會使用一些成熟的第三方套件,來避免自己重複造輪子
以下介紹本專案有用到的套件(若使用node_modules.zip的話,以下套件均已被安裝)
npm install -D vue-js-modal
npm uninstall vue-js-modal
npm install -D vuedraggable
npm uninstall vuedraggable
npm install -D axios
npm uninstall axios
Todo List
跟Done List
props
來控制此board可否編輯Todo List
跟Done List
所使用到之組件task
Draggable
來實現移動task
props
來控制此list可否編輯task
組件task
之Title
與Content
props
來控制此task可否編輯namespace
來讓資料物件化/模組化$store.state.localBoard
,即/src/store/localBoard.js
$store.state.localBoard
,即/src/store/localBoard.js
NoBackendHome.vue
$store.state.remoteBoard
的動作$store.state.remoteBoard
,即/src/store/remoteBoard.js
NoBackendEdit.vue
$store.state.remoteBoard
的動作$store.state.remoteBoard
,即/src/store/remoteBoard.js
組件
的root,原點<router-view/>
宣告了各網址的內容應該在此tag內進行rendervue
運作的原點Vue.use(VModal)
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// import 第三方套件
import VModal from 'vue-js-modal'
Vue.config.productionTip = false
// 使用'vue-js-modal'這個第三方套件
Vue.use(VModal)
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app')
開啟command line後執行
npm run build
或者使用vue ui去啟動編譯也可以
編譯完成後,預設會將編譯完之檔案放到/dist
中
而這些編譯後的檔案,也是實際上顧客瀏覽器會運行的檔案
本機開發時,瀏覽器上所運行的並不是最終實際在顧客瀏覽器上運行的檔案
而這些編譯後之檔案,將在後續文章說明怎麼部署到IIS Server
上
下一篇文章,將開始後端部份的說明