摘此良辰吉日祟敛,正式發(fā)布 beta 版,殷切期望你的反饋
作者:Rich Harris
日期:2021-3-23
原文:https://svelte.dev/blog/sveltekit-beta
耗時(shí)5個(gè)月尔苦,歷經(jīng)數(shù)百次 commit 后,摘此良辰吉日,邀君共品 SvelteKit Beta咱旱。
即便有一些已知的 BUG 仍未消除罄盡,部分缺失的功能亦亟待完善绷耍,但我們難掩興奮之情莽龟,躊躇滿志,并迫不及待地期望你愿淺試 SvelteKit 這杯“新茶”锨天。
創(chuàng)建一個(gè) SvelteKit 的項(xiàng)目輕而易舉:
npm init svelte@next my-app
# 進(jìn)入工程的目錄
cd my-app
#安裝依賴包
npm install
# 啟動(dòng)開發(fā)服務(wù)器毯盈,并打開瀏覽器
npm run dev -- --open
你可以在 kit.svelte.dev/docs 中查閱詳細(xì)的文檔。
如果你想將某個(gè) Sapper 編寫的應(yīng)用遷移到 SvelteKit病袄,請(qǐng)參看 kit.svelte.dev/migrate搂赋,該文章指引您弭平兩者差異。
SvelteKit 的源碼地址是:https://github.com/sveltejs/kit
Issues和 Pull Request 目前是禁用狀態(tài)益缠,容我們先行整理收拾妥善之后脑奠,再選日開放。
等等幅慌,什么是 SvelteKit宋欺?
正如 React 之于 Next,Svelte 對(duì)應(yīng)的 Web 框架便是 SvelteKit胰伍。
它是一個(gè)用 Svelte 構(gòu)建應(yīng)用的框架齿诞,包括服務(wù)器端渲染(SSR)、路由骂租、針對(duì) JS 和 CSS 的代碼分割祷杈,以及針對(duì)不同 Serverless 平臺(tái)生成不同代碼的適配器等等。
如果你曾有 Sapper 開發(fā)經(jīng)驗(yàn)渗饮,那么 SvelteKit 正是它的繼任者但汞。
棄 Snowpack 從 Vite
此前宿刮,我在視頻中對(duì) Snowpack 大為贊賞,不過令人始料未及的是私蕾,SvelteKit 終究選擇使用 Vite僵缺。
曾在憧憬 SvelteKit 未來(lái)之時(shí),我們邂逅了 Snowpack踩叭,一見傾心谤饭。
Snowpack 別創(chuàng)一格,與以往的 Webpack 和 Rollup 其方式大相徑庭懊纳,Snowpack 是一個(gè)非打包(unbundled)的開發(fā)服務(wù)器揉抵,它使用瀏覽器的本地 import
,并實(shí)時(shí)為 Svelte 組件等內(nèi)容進(jìn)行 1:1 置換嗤疯。
因此冤今,應(yīng)用可以快速啟動(dòng),使用簡(jiǎn)單的緩存和即時(shí)模塊熱加載茂缚,一經(jīng)入坑戏罢,再難回頭。
Vite 和 Snowpack 如出一轍脚囊。
Vite v1 不適合 SvelteKit龟糕,它以 Vue 為中心 (Vite 和 Vue 都是 Evan You 創(chuàng)建的),并且使服務(wù)器端渲染變得困難悔耘。
但 Vite v2 則與框架無(wú)關(guān)讲岁,以 SSR 為核心進(jìn)行設(shè)計(jì)。
它具有強(qiáng)大的功能衬以,如 CSS 代碼分割(此前我們必須自己實(shí)現(xiàn))缓艳。當(dāng)我們并排評(píng)估這兩個(gè)工具時(shí),我們作出了一個(gè)非常艱難的決定:Vite 適逢其時(shí)看峻,與 SvelteKit 的需求及未來(lái)的理想更為相符阶淘,更合其志。
我們對(duì) Snowpack 團(tuán)隊(duì)深表感謝互妓,在開發(fā)早期我們緊密合作溪窒,為未來(lái)幾年的 Web 開發(fā)指明道路。強(qiáng)烈推薦你去嘗試這個(gè)很棒的工具冯勉。
作死是一項(xiàng)極限運(yùn)動(dòng)
SvelteKit 雖然還處于測(cè)試階段澈蚌,但這并不代表沒人敢在生產(chǎn)環(huán)境去用它。
在過去的12個(gè)月里珠闰,我在《紐約時(shí)報(bào)》花了很多時(shí)間在冠狀病毒的跟蹤工作上惜浅。
它使用了一個(gè)定制的工作流程,為大多數(shù)圖形提供強(qiáng)大的支持伏嗜,它不是為大型多頁(yè)面的而項(xiàng)目設(shè)計(jì)的坛悉。
去年年底,當(dāng)我們決定為美國(guó)大約 3000 個(gè)縣創(chuàng)建各自獨(dú)立的頁(yè)面時(shí)承绸,我們很快意識(shí)到整個(gè)項(xiàng)目需要進(jìn)行重構(gòu)裸影。
盡管它還遠(yuǎn)未可用,但 SvelteKit 是唯一能夠滿足那些千奇百怪的需求的框架(任何在新聞編輯室工作過军熏、和 CMS 打過交道的人都懂的)轩猩。
現(xiàn)在,它已支持縣級(jí)風(fēng)險(xiǎn)頁(yè)面荡澎,我們正在將現(xiàn)有頁(yè)面遷移到 SvelteKit均践。
臨危授命,膽敢使用半成品來(lái)開發(fā)一個(gè)會(huì)被數(shù)百萬(wàn)人看到的應(yīng)用程序摩幔,有種自尋死路的感覺(我永遠(yuǎn)感激同事的寬容)彤委。
一般人我都不推薦他這么做。
但它使我們能夠更快地開發(fā)應(yīng)用程序或衡,對(duì)比其他框架來(lái)說更顯強(qiáng)大焦影。
通往 v1.0 之路
你可以在我們的問題跟蹤器上,看到 v1.0 里程碑的待解決的問題列表封断。除此以外斯辰,我們還計(jì)劃升級(jí)文檔并添加更多的適配器。
最重要的是坡疼,我們需要你的反饋彬呻,以幫助我們做出最好的應(yīng)用框架。請(qǐng)嘗試一下柄瑰,告知我們哪些功能有所缺失废岂。
非常感謝那些不顧深坑警告和在缺乏文檔的情況下就已嘗試過 SvelteKit 的所有人。
你的反饋非常寶貴狱意。
我特別要感謝 GrygrFlzr 的工作湖苞,他維護(hù)了非官方文檔和一個(gè)分支,在我們?nèi)鄙?Windows 支持的時(shí)候修復(fù)了它详囤。
dominikg 在 Svite 上的工作為 SvelteKit 中的 Vite 整合奠定了基礎(chǔ)财骨。
現(xiàn)在,他們已是團(tuán)隊(duì)中的紅人藏姐。
- 窗明幾凈隆箩,靜候時(shí)日變遷 -