[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/ 就可以看到畫面了。
為什麼會看到廣告
9會員
49內容數
比起詳細教學單一技能,網路上或者市面上整合多項技能的教學相對少很多,但要真的完成一項專案往往不是只靠一項技能便能做到。 而且教科書式的完整教學也比較枯燥乏味,因此我想以自身的經驗為例,以全端開發各項技能中最常用到的部分進行講解,讓讀者能夠快速上手掌握全端技能。
留言0
查看全部
發表第一個留言支持創作者!
張哲嘉的沙龍 的其他內容
要完整的了解整個網頁的開發需要掌握相當多的知識,就算目標只是學習網頁開發中的其中一個部分,比方說只是想成為前端工程師,或是只是想成為後端工程師,最好還是對整個網頁專案整體有一定程度的了解,才不會和其他工程師合作的時候,各開發各的,然後兜不起來 這個系列的教學,希望就算你的目標不是成為全端工程師,也能
要完整的了解整個網頁的開發需要掌握相當多的知識,就算目標只是學習網頁開發中的其中一個部分,比方說只是想成為前端工程師,或是只是想成為後端工程師,最好還是對整個網頁專案整體有一定程度的了解,才不會和其他工程師合作的時候,各開發各的,然後兜不起來 這個系列的教學,希望就算你的目標不是成為全端工程師,也能
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
我有學習能力
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
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
我有學習能力
Thumbnail
不廢話,給你兩個有科學根據的快速、立即緩解焦慮的方法:「生理性嘆息」和「橫向眼球運動」。
我在想,為什麼他從來不告訴我他的真實姓名?以至於被我識破名字是假的之後,又告訴我另一個新名字,然而我也找不到與他相關的任何資訊。 不僅僅是姓名,我連他所在城市、學經歷等都不知道。他應該從來都不曾想過要告訴我,我也不是沒問過,只不過都被搪塞過去,也就沒有繼續追問下去。 我唯一知道的是,他很忙,忙到半
Thumbnail
伴侶說什麼,我總是會臆測他背後真實的想法。例如,「我要去山上」,我就會解讀成「他想要逃離我,一個人靜一靜」。其實這也不是胡亂猜測,而是過去曾經有類似的經驗,他不開心的時候上山去,之後跟我說他其實想去山上散散心靜一靜。後來「腦袋的聲音」就會自動連結:上山=不開心想逃離。這時我就會感到有千萬種情緒升起。
Thumbnail
白世曜臉部頓時全濕,前髮也貼覆到了眼睛,看不清澆花人的面容,但他不著急撥開自己的瀏海,不曉得為何胸口漸發溫熱,眼前朦朧的身影與存在讓他莫名心跳失速。他有個強烈的正面預感。 溫旭華定睛一看,是陌生的臉孔,由於對方溫文和善地站在原地,兩手空空,看起來不像壞人,倒是身上的黑服濕得整個熨貼在健壯偉岸的
Thumbnail
為靈命健檢下結論之前,需要先從三方面定義何謂「健康的靈命」。 1)門徒培育原則:基督徒靈命是否健康,取決於他們有多像耶穌、多大程度實踐祂的教導。 2)信仰階段理論:基督徒靈命是否健康,取決於他們隨著年齡增長,信仰是否朝向更完整和成熟的階段。 3)「健康」的本質和類比
父元件 傳遞方法使用@ <template>    ...    <Login @modalClose="modalClose"/> ... </template> <script setup>     const _modal = ref();     function m