從未摸過(guò) Node.js 或者命令行的初學(xué)者也沒(méi)問(wèn)題。
注意:原文發(fā)表于2019-04-16扫尺,隨著框架不斷演進(jìn)启昧,部分內(nèi)容可能已不適用。
這篇簡(jiǎn)短的指南旨在幫助你去安裝 Svelte 和跑起來(lái)(已經(jīng)看過(guò)教程的童鞋疆柔,想開(kāi)始創(chuàng)建 Svelte 應(yīng)用咒精,但又礙于沒(méi)有多少 JavaScript 構(gòu)建工具使用經(jīng)驗(yàn)的人)。
如果有哪些不合理或者我們沒(méi)有覆蓋到的地方旷档,請(qǐng)隨時(shí)提出問(wèn)題或者建議你直接編輯這個(gè)頁(yè)面模叙,可以和我們一起幫助更多的人。
如果你遵循本指南的任何步驟但是卡住了鞋屈,聊天室是最佳的求助地點(diǎn)范咨。
先說(shuō)說(shuō)重點(diǎn)
你將使用命令行故觅,也就是終端。
在 Windows 上湖蜕,可以通過(guò)“開(kāi)始”菜單運(yùn)行“命令提示符”
來(lái)打開(kāi)它逻卖。
在 Mac 上,同時(shí)按下 Cmd
和空格鍵
打開(kāi) Spotlight
昭抒,然后輸入 Terminal.app
评也。
而在大多數(shù) Linux 系統(tǒng)上,使用 Ctrl+Alt+T
快捷鍵可以打開(kāi)命令行灭返。
與日常使用的 GUI(圖形用戶(hù)界面)相比盗迟,命令行是一種與你計(jì)算機(jī)(或者另一臺(tái)計(jì)算機(jī),不過(guò)這是另一個(gè)話題哈)進(jìn)行交互的方式熙含。
它具有比 GUI 更強(qiáng)大的功能和控制力罚缕。
進(jìn)入命令行后,你可以使用 ls
(在 Windows 上是 dir
)命令來(lái)瀏覽文件系統(tǒng)怎静,ls
用于列出當(dāng)前目錄的內(nèi)容邮弹。
而 cd
命令可以改變當(dāng)前目錄,假設(shè)當(dāng)前目錄下有一個(gè)“Development”
的文件夾蚓聘,則可以輸入:
cd Development
進(jìn)入這個(gè)文件夾腌乡。
進(jìn)入后,通過(guò) mkdir
命令可以創(chuàng)建一個(gè)新的目錄:
mkdir svelte-projects
cd svelte-projects
限于篇幅夜牡,我們不會(huì)完整地介紹全部命令行与纽,這里有一些很有用的命令:
cd ..
—— 退回到當(dāng)前目錄的上一級(jí)cat my-file.txt
—— 在 Mac/Linux 上(Windows 上可直接輸入my-file.txt
),展示my-file.txt
的內(nèi)容塘装。open .
(Windows 上使用start .
)—— 在 Finder 或者文件夾瀏覽器打開(kāi)當(dāng)前目錄急迂。
安裝 Node.js
Node 是一種在命令行上運(yùn)行 JavaScript 的程序,許多 Tool 都使用它蹦肴,包括 Svelte僚碎。
如果你還沒(méi)有安裝它,最簡(jiǎn)單的方法就是直接從官網(wǎng)去下載最新版本阴幌。
安裝后勺阐,你就可以這3個(gè)新命令:
node my-file.js
—— 運(yùn)行my-file.js
這個(gè) JavaScriptnpm [子命令]
—— npm 是一種安裝 Node 程序依賴(lài)包的方法,例如 svelte 這個(gè)程序包裂七。npx [子命令]
—— 這是一種便捷的方式皆看,允許你不用永久安裝就能運(yùn)行 npm 上的程序包仓坞。
安裝文本編輯器
要開(kāi)始編寫(xiě)代碼背零,你需要一個(gè)好的編輯器。
最受歡迎的就是 Visual Studio Code 了无埃,當(dāng)然這是有原因的:它經(jīng)過(guò)精心設(shè)計(jì)且功能齊全徙瓶,還要大量的擴(kuò)展插件(包括 Svelte 的擴(kuò)展毛雇,當(dāng)你編寫(xiě)組件時(shí),它能提供語(yǔ)法提示和診斷信息侦镇。)
創(chuàng)建一個(gè)項(xiàng)目
我們就按照《Svelte 極簡(jiǎn)入門(mén)》里第二部分的說(shuō)明進(jìn)行操作灵疮。
首先,我們會(huì)使用 npx 運(yùn)行 degit壳繁,這是一個(gè)從 Github 或者其他網(wǎng)站的代碼庫(kù)中 clone 項(xiàng)目模板的程序震捣。
你也可以不用項(xiàng)目模板,但這可以減少很多設(shè)置工作闹炉。
你需要安裝了 Git 才能使用 degit蒿赢。(你終究是要學(xué)習(xí) Git 的,大多數(shù)程序員都用它來(lái)管理他們的項(xiàng)目渣触。)
在命令行上切換到要?jiǎng)?chuàng)建新項(xiàng)目的目錄羡棵,然后輸入以下命令(你可以復(fù)制粘貼下面全部?jī)?nèi)容,不過(guò)建議你一行一行地敲然后運(yùn)行嗅钻,這樣可以形成肌肉記憶)皂冰。
npx degit sveltejs/template my-svelte-project
cd my-svelte-project
npm install
這將會(huì)創(chuàng)建一個(gè)新目錄 my-svelte-project
,并從 sveltejs/template 代碼庫(kù)中新增很多文件到這里养篓,然后會(huì)使用 npm 安裝很多程序包秃流。
用你的文本編輯器打開(kāi)這個(gè)目錄看看。
程序的源碼就位于 src
目錄下觉至,你應(yīng)用可以讀取的文件都在 public
目錄下剔应。
在 package.json
文件中,有一個(gè)地方叫“scripts”
语御。這些腳本定義了使用程序的快捷方式 —— dev
峻贮,build
和 start
。
要在開(kāi)發(fā)模式下啟動(dòng)應(yīng)用应闯,只需要輸入以下命令:
npm run dev
運(yùn)行 dev
腳本將會(huì)啟動(dòng)一個(gè)名為 Rollup 的程序纤控。
Rollup 要做的事情,就是拿到你的應(yīng)用的源文件(目前位置有 src/main.js
和 src/App.svelte
)碉纺。
然后將它們發(fā)給其他程序(在這個(gè)例子中包括有 Svelte)船万,并將它們轉(zhuǎn)換為可以在瀏覽器中打開(kāi)時(shí)實(shí)際運(yùn)行的代碼。
至此骨田,你可以打開(kāi)瀏覽器并導(dǎo)航到 http://localhost:5000耿导。這是運(yùn)行在端口 5000 上的本地 Web 服務(wù)器(即 localhost)程序。
試著修改一下 src/App.svelte
然后保存态贤,應(yīng)用會(huì)自動(dòng)重新加載你最終的修改舱呻。
構(gòu)建你的應(yīng)用
來(lái)到最后一步,我們以“開(kāi)發(fā)模式”運(yùn)行該程序。
在 dev 開(kāi)發(fā)模式下箱吕,Svelte 會(huì)添加一些有助于調(diào)試的額外代碼芥驳,并且 Rollup 跳過(guò)使用 Terser 壓縮 JavaScript 的這一步。
將你的應(yīng)用公諸于世之時(shí)茬高,你應(yīng)該以“生產(chǎn)模式”來(lái)構(gòu)建它兆旬,它可以使最終用戶(hù)程序盡可能小巧高效。
為此怎栽,請(qǐng)使用 build
命令:
npm run build
你的 public
目錄下現(xiàn)在多了一個(gè)已經(jīng)壓縮過(guò)的 bundle.js
文件丽猬,應(yīng)用的 JavaScript 就包含在其中。
你可以這樣運(yùn)行它:
npm run start
這將在 http://localhost:5000 上運(yùn)行它熏瞄。
下一步
要與全世界共享你的應(yīng)用宝鼓,你還需要部署它。
有很多方法可以做這件事情 —— 在項(xiàng)目中的 README.md
文件里列舉了一些方法巴刻。
< The End >
- 窗明幾凈愚铡,靜候時(shí)日變遷 -