[2] Vue: getting started

閱讀時間約 4 分鐘

前言

Vue 在過去的一兩年內快速發展,寫法也一直改變,我在過去一年多也更改了兩次寫法,在這個系列中我將以最新的 composition api + typescript 寫法進行教學。
javascript 有兩大痛點,一個是異步問題,另一個是弱型別。要渲染畫面一定要多線程同時異步處理,不然真的一個元件出來再跑下一個會慢到爆炸,所以第一個問題無解。不過至少 typescript 強調了型別的概念,解決了 javascript 其中一個痛點。

Installation

prerequest

先來裝 Node,裝完應該就有 nodenpm

pnpm

npmpnpm 都是 javascript 的 package manager,javascript 裝套件是 by 專案,如果你有多個專案都需要同樣的套件,那每個專案都要裝一次,比較佔電腦的空間,所以後來有了 pnpm ,去避免在電腦重複裝相同的套件,如果你在不同的專案需要用到相同的套件,透過 pnpm 來裝,會在你的專案給你一個連結指向這個套件去避免重複裝相同的套件。
因為用太新的 pnpm 當 Vue CLI 的 package manager 建立 Vue 專案目前有 bug,所以我們裝第 6 版的 pnpm
npm install -g pnpm@6

Vue CLI

來裝 Vue 的開發工具 -- Vue CLI
pnpm install -g @vue/cli
查看當前版本的 Vue CLI,確定有裝好。
vue --version

create project

先換一下 Vue CLI 的 package manager
vue config --set packageManager pnpm
開始建立專案吧
vue create front_end
  1. Pick a preset
    這裡我們選擇 Manually select features,去裝好一定會需要用到的套件, 如果選擇 Default,會裝的太簡略,很多很重要的套件像是 vue-router, vuex 都要之後自己再裝。 上下鍵是切換選項,空白鍵是確定選擇,按下 Enter 做下一步設定。
2. Select the features
這裡 Choose Vue version, Babel 要選,本篇以 typescript 開發,所以 Typescript 要選, Router, Vuex 和 CSS Pre-processors 也是非常重要,必選,之後的篇章會再詳細介紹。
3.
class 風格的裝飾器,像原本創建 vue 實例 長得像這樣 home = new Vue() 用裝飾器後會像這樣 class home extends Vue{} 我自己是看不習慣啦,所以不裝。
Use history mode for router 選 no 的話,路由會掛在 # 底下,很醜
原生 CSS 其實不好用,用 CSS 預處理器,樣式好寫很多, 連迴圈, function 都能寫,目前 Sass/Scss 最多人用,Stylus 也蠻好用的, Less 好像有些雷的地方,我自己主要是用 Sass/Scss。
4. Where do you prefer placing config for Babel, ESLint, etc.?
像 babel, eslint 這些套件的設定檔,你想各別存放還是統一寫在 package.json 裡。
5. Save this as a preset for future projects?
之後的專案是否都套用現在的設定?
貼心提醒: 如果你有用 dropbox, google drive 等雲端硬碟在備份的話建議先暫停備份, javascript 有一個黑洞叫做 node_modules,讓我形容一下有多黑
請不要備份 node_modules,專案需要的套件都會記錄在 package.jsonpnpm-lock.yaml 裡, 之後在別的電腦想裝回這些套件,只要在終端輸入 npm installpnpm install 就可以裝回來了。
如果用 pnpm 當 Vue CLI 的 package mannager 還是有問題,那就換回 npm
進入專案路徑,在終端輸入 npm run serve 就可以把專案跑起來了
然後打開瀏覽器輸入 http://localhost:8080/http://192.168.50.37:8080/ 就可以看到畫面了。
為什麼會看到廣告
avatar-img
9會員
49內容數
比起詳細教學單一技能,網路上或者市面上整合多項技能的教學相對少很多,但要真的完成一項專案往往不是只靠一項技能便能做到。 而且教科書式的完整教學也比較枯燥乏味,因此我想以自身的經驗為例,以全端開發各項技能中最常用到的部分進行講解,讓讀者能夠快速上手掌握全端技能。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
張哲嘉的沙龍 的其他內容
要完整的了解整個網頁的開發需要掌握相當多的知識,就算目標只是學習網頁開發中的其中一個部分,比方說只是想成為前端工程師,或是只是想成為後端工程師,最好還是對整個網頁專案整體有一定程度的了解,才不會和其他工程師合作的時候,各開發各的,然後兜不起來 這個系列的教學,希望就算你的目標不是成為全端工程師,也能
要完整的了解整個網頁的開發需要掌握相當多的知識,就算目標只是學習網頁開發中的其中一個部分,比方說只是想成為前端工程師,或是只是想成為後端工程師,最好還是對整個網頁專案整體有一定程度的了解,才不會和其他工程師合作的時候,各開發各的,然後兜不起來 這個系列的教學,希望就算你的目標不是成為全端工程師,也能
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
我有學習能力
Thumbnail
不廢話,給你兩個有科學根據的快速、立即緩解焦慮的方法:「生理性嘆息」和「橫向眼球運動」。
我在想,為什麼他從來不告訴我他的真實姓名?以至於被我識破名字是假的之後,又告訴我另一個新名字,然而我也找不到與他相關的任何資訊。 不僅僅是姓名,我連他所在城市、學經歷等都不知道。他應該從來都不曾想過要告訴我,我也不是沒問過,只不過都被搪塞過去,也就沒有繼續追問下去。 我唯一知道的是,他很忙,忙到半
Thumbnail
伴侶說什麼,我總是會臆測他背後真實的想法。例如,「我要去山上」,我就會解讀成「他想要逃離我,一個人靜一靜」。其實這也不是胡亂猜測,而是過去曾經有類似的經驗,他不開心的時候上山去,之後跟我說他其實想去山上散散心靜一靜。後來「腦袋的聲音」就會自動連結:上山=不開心想逃離。這時我就會感到有千萬種情緒升起。
Thumbnail
白世曜臉部頓時全濕,前髮也貼覆到了眼睛,看不清澆花人的面容,但他不著急撥開自己的瀏海,不曉得為何胸口漸發溫熱,眼前朦朧的身影與存在讓他莫名心跳失速。他有個強烈的正面預感。 溫旭華定睛一看,是陌生的臉孔,由於對方溫文和善地站在原地,兩手空空,看起來不像壞人,倒是身上的黑服濕得整個熨貼在健壯偉岸的
Thumbnail
為靈命健檢下結論之前,需要先從三方面定義何謂「健康的靈命」。 1)門徒培育原則:基督徒靈命是否健康,取決於他們有多像耶穌、多大程度實踐祂的教導。 2)信仰階段理論:基督徒靈命是否健康,取決於他們隨著年齡增長,信仰是否朝向更完整和成熟的階段。 3)「健康」的本質和類比
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
11/20日NVDA即將公布最新一期的財報, 今天Sell Side的分析師, 開始調高目標價, 市場的股價也開始反應, 未來一週NVDA將重新回到美股市場的焦點, 今天我們要分析NVDA Sell Side怎麼看待這次NVDA的財報預測, 以及實際上Buy Side的倉位及操作, 從
Thumbnail
Hi 大家好,我是Ethan😊 相近大家都知道保濕是皮膚保養中最基本,也是最重要的一步。無論是在畫室裡長時間對著畫布,還是在旅途中面對各種氣候變化,保持皮膚的水分平衡對我來說至關重要。保濕化妝水不僅能迅速為皮膚補水,還能提升後續保養品的吸收效率。 曾經,我的保養程序簡單到只包括清潔和隨意上乳液
我有學習能力
Thumbnail
不廢話,給你兩個有科學根據的快速、立即緩解焦慮的方法:「生理性嘆息」和「橫向眼球運動」。
我在想,為什麼他從來不告訴我他的真實姓名?以至於被我識破名字是假的之後,又告訴我另一個新名字,然而我也找不到與他相關的任何資訊。 不僅僅是姓名,我連他所在城市、學經歷等都不知道。他應該從來都不曾想過要告訴我,我也不是沒問過,只不過都被搪塞過去,也就沒有繼續追問下去。 我唯一知道的是,他很忙,忙到半
Thumbnail
伴侶說什麼,我總是會臆測他背後真實的想法。例如,「我要去山上」,我就會解讀成「他想要逃離我,一個人靜一靜」。其實這也不是胡亂猜測,而是過去曾經有類似的經驗,他不開心的時候上山去,之後跟我說他其實想去山上散散心靜一靜。後來「腦袋的聲音」就會自動連結:上山=不開心想逃離。這時我就會感到有千萬種情緒升起。
Thumbnail
白世曜臉部頓時全濕,前髮也貼覆到了眼睛,看不清澆花人的面容,但他不著急撥開自己的瀏海,不曉得為何胸口漸發溫熱,眼前朦朧的身影與存在讓他莫名心跳失速。他有個強烈的正面預感。 溫旭華定睛一看,是陌生的臉孔,由於對方溫文和善地站在原地,兩手空空,看起來不像壞人,倒是身上的黑服濕得整個熨貼在健壯偉岸的
Thumbnail
為靈命健檢下結論之前,需要先從三方面定義何謂「健康的靈命」。 1)門徒培育原則:基督徒靈命是否健康,取決於他們有多像耶穌、多大程度實踐祂的教導。 2)信仰階段理論:基督徒靈命是否健康,取決於他們隨著年齡增長,信仰是否朝向更完整和成熟的階段。 3)「健康」的本質和類比
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m