如何使用 Cloudflare 頁(yè)面自動(dòng)部署 React 應(yīng)用程序

來(lái)源: 百家號(hào)
作者:不得不服我的
時(shí)間:2021-04-28
17414
如何入門,要開(kāi)始,需要以下工具:1. 軟件包管理器npm和版本控制軟件Git 2. 自己的(免費(fèi))GitHub帳戶和Cloudflare帳戶

如何入門

要開(kāi)始,需要以下工具:

1. 軟件包管理器npm和版本控制軟件Git

2. 自己的(免費(fèi))GitHub帳戶和Cloudflare帳戶

創(chuàng)建我們的React項(xiàng)目

要部署 React 應(yīng)用程序,我們首先需要?jiǎng)?chuàng)建一個(gè)。

讓我們借助 Create React App,在電腦上構(gòu)建一個(gè) React 應(yīng)用程序。我們可以通過(guò)給它起名為“cloudflare-react”來(lái)做到這一點(diǎn):

npx create-react-app cloudflare-react

ae51f3deb48f8c54fff2f03685f644fde1fe7fe9.jpeg

創(chuàng)建我們的 Github 存儲(chǔ)庫(kù)

一旦我們的項(xiàng)目成功創(chuàng)建,讓我們繼續(xù)為它創(chuàng)建一個(gè)GitHub存儲(chǔ)庫(kù)。

我們使用GitHub來(lái)保存我們單個(gè)項(xiàng)目的在線、易于管理的記錄。GitHub還允許其他用戶通過(guò)拉取請(qǐng)求來(lái)改進(jìn)我們的代碼。

Cloudflare使用GitHub跟蹤我們所有的代碼,無(wú)論何時(shí)進(jìn)行更改。

為了跟蹤我們新的React應(yīng)用程序,我們通過(guò)訪問(wèn)github.com/new創(chuàng)建一個(gè)新的GitHub存儲(chǔ)庫(kù)。

接下來(lái),我們只需添加所有文件,并提交它們,并發(fā)送一條消息,說(shuō)明我們正在做什么:

git add .git commit -m "Deploy to Cloudflare Pages"

接下來(lái),我們需要添加適當(dāng)?shù)腉it遙控器,用于將我們提交的代碼推到上游,以更新我們的新的GitHub repo。

GitHub將告訴新創(chuàng)建的回購(gòu)協(xié)議需要包含的命令。應(yīng)該看起來(lái)是這樣的:

git remote add origin someurl

And finally, we can simply run git push -u origin master.

在我們刷新GitHub repo頁(yè)面后,我們應(yīng)該看到我們所有的React項(xiàng)目代碼,這些代碼被推送到GitHub。

這是將應(yīng)用程序部署到 Cloudflare 頁(yè)面的第一個(gè)主要要求——讓 React 應(yīng)用程序生活在 GitHub 上。

b21bb051f81986184505b50d8b32477b89d4e6e5.jpeg

創(chuàng)建 Cloudflare 帳戶

接下來(lái),我們前往 Cloudflare 部署我們的 React 項(xiàng)目。

和大多數(shù)其他開(kāi)發(fā)人員有興趣使用 Cloudflare 頁(yè)面的主要原因之一是 Cloudflare 有一個(gè)全球 CDN。這允許更快地交付我們部署的應(yīng)用程序。

Cloudflare還擁有DNS管理等資源,如果希望應(yīng)用程序有自己的自定義域,這尤其有幫助。

將GitHub鏈接到Cloudflare頁(yè)面

第一次訪問(wèn)Cloudflare頁(yè)面時(shí),系統(tǒng)會(huì)提示從GitHub存儲(chǔ)庫(kù)創(chuàng)建項(xiàng)目,因此將選擇Connect GitHub帳戶按鈕:

然后,被要求安裝和授權(quán)Cloudflare頁(yè)面。

此步驟允許我們選擇Cloudflare獲得什么訪問(wèn)權(quán)限——是想讓它訪問(wèn)我們所有的存儲(chǔ)庫(kù),還是只想選擇存儲(chǔ)庫(kù):

如果希望將來(lái)部署多個(gè)項(xiàng)目,建議選擇所有存儲(chǔ)庫(kù)。

因此,Cloudflare將能夠訪問(wèn)我們所做的任何代碼和部署,以便將其部署到Web上。

將我們的反應(yīng)項(xiàng)目部署到Cloudflare頁(yè)面

一旦我們授予Cloudflare授權(quán)后,我們將看到一個(gè)屏幕,在那里我們可以從GitHub存儲(chǔ)庫(kù)中選擇要部署的項(xiàng)目:

就我們而言,我們將選擇我們的“云反應(yīng)”回購(gòu)協(xié)議,之后我們將點(diǎn)擊“開(kāi)始設(shè)置”。

從那里,我們可以選擇我們希望我們的React應(yīng)用程序使用Cloudflare的項(xiàng)目名稱。這個(gè)項(xiàng)目名稱很重要,因?yàn)樗鼪Q定了它將部署到的子域。

由于我們選擇了“cloudflare-react”,它將部署到cloudflare-react.pages.dev:

我們可以選擇部署哪個(gè)分支,以及構(gòu)建設(shè)置。

請(qǐng)注意,我們真正需要做的就是選擇我們使用的框架預(yù)設(shè)。Cloudflare為我們的框架提供了一個(gè)預(yù)設(shè)選項(xiàng)——?jiǎng)?chuàng)建反應(yīng)應(yīng)用程序。

當(dāng)我們選擇它時(shí),它將包括任何Create React App項(xiàng)目的默認(rèn)設(shè)置:通過(guò)運(yùn)行構(gòu)建命令“npm運(yùn)行構(gòu)建”來(lái)部署項(xiàng)目,輸出目錄(運(yùn)行此構(gòu)建命令時(shí)將構(gòu)建我們的React代碼的文件夾)稱為“構(gòu)建”。

對(duì)于使用Next.js或Gatsby等框架制作的任何React應(yīng)用程序,還有其他有用的預(yù)置。可以使用 Cloudflare 頁(yè)面部署幾乎所有你能想到的 React 應(yīng)用程序類型。

最后,我們點(diǎn)擊部署按鈕。部署過(guò)程第一次大約需要四到五分鐘。要有耐心,但要知道,任何后續(xù)部署所需的時(shí)間都會(huì)少得多。

我們確實(shí)看到一些關(guān)于我們正在構(gòu)建的項(xiàng)目和部署進(jìn)度的有用日志。如果該過(guò)程中出現(xiàn)錯(cuò)誤,我們會(huì)在日志中看到它,并獲得一些關(guān)于我們需要修復(fù)的內(nèi)容的指示。

然后,要查看我們部署的項(xiàng)目,我們可以點(diǎn)擊“繼續(xù)項(xiàng)目”按鈕,點(diǎn)擊“訪問(wèn)網(wǎng)站”,然后我們可以看到我們的應(yīng)用程序在URL上運(yùn)行: your-project-name.pages.dev。

91ef76c6a7efce1b1f631a26148e9ad6b68f65fe.jpeg

使用自動(dòng)部署進(jìn)行更改

雖然在將 React 應(yīng)用程序推送到 GitHub 后,立即將其部署到 Web 非常容易,但下一步是更改我們的應(yīng)用程序并重新部署它。

正如將看到的,這個(gè)自動(dòng)部署(持續(xù)集成)功能已經(jīng)設(shè)置。

就我的應(yīng)用程序而言,我決定安裝React路由器DOM來(lái)添加一個(gè)關(guān)于頁(yè)面。在首頁(yè)上,我還添加了一個(gè)關(guān)于頁(yè)面的鏈接:

這樣做后,如果我們翻轉(zhuǎn)回我們的Cloudflare頁(yè)面儀表板,我們可以看到Cloudflare立即接收了這個(gè)新部署,因?yàn)樗溄拥轿覀兊腉itHub帳戶,并且可以查看向我們的repo提出的任何部署或拉取請(qǐng)求。

因此,它立即根據(jù)我們所做的更改重新部署我們的應(yīng)用程序。當(dāng)我們的部署進(jìn)行時(shí),我們可以點(diǎn)擊“查看構(gòu)建”,并查看有關(guān)此部署的具體信息以及任何日志。

正如將看到的,在初始部署后所做的任何更改都需要更少的時(shí)間(部署成功完成總共只需要大約一分鐘)。還將看到,在我們的URL開(kāi)頭,它被賦予了自己獨(dú)特的部署散列。這允許我們唯一地引用每個(gè)部署。

如果我們刪除散列,我們會(huì)看到我們所做的更改也部署到我們選擇的項(xiàng)目名稱:cloudflare-react.pages.dev。

好了,本文到此結(jié)束。如果對(duì)編程、計(jì)算機(jī)、程序員方面感興趣的話,歡迎私信聯(lián)系我,隨時(shí)交流!點(diǎn)個(gè)關(guān)注,是對(duì)我莫大的鼓勵(lì)!

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于百家號(hào),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
【科普篇】什么是機(jī)器人管理?| 機(jī)器人管理器如何運(yùn)作
【科普篇】什么是機(jī)器人管理?| 機(jī)器人管理器如何運(yùn)作
機(jī)器人管理是指,阻止有害或惡意的互聯(lián)網(wǎng)機(jī)器人流量,同時(shí)仍允許有用的機(jī)器人訪問(wèn) web 資產(chǎn)。為此,機(jī)器人管理檢測(cè)機(jī)器人活動(dòng)、辨別有用和有害的機(jī)器人行為,并識(shí)別有害活動(dòng)的來(lái)源。
Cloudflare
云服務(wù)
2024-12-292024-12-29
【科普篇】云防火墻及防火墻即服務(wù)(FWaaS)
【科普篇】云防火墻及防火墻即服務(wù)(FWaaS)
云防火墻是一種安全產(chǎn)品,與傳統(tǒng)防火墻一樣,可以過(guò)濾掉潛在的惡意網(wǎng)絡(luò)流量。而與傳統(tǒng)防火墻不同的是,云防火墻托管在云中。這種防火墻的云交付模式也稱為防火墻即服務(wù) (FWaaS)。
Cloudflare
云服務(wù)
2024-12-292024-12-29
【科普篇】如何預(yù)防網(wǎng)絡(luò)釣魚
【科普篇】如何預(yù)防網(wǎng)絡(luò)釣魚
網(wǎng)絡(luò)釣魚是一種網(wǎng)絡(luò)攻擊,攻擊者隱藏自己的真實(shí)身份,以欺騙受害者完成其所期望的操作。
Cloudflare
云服務(wù)
2024-12-232024-12-23
【科普篇】如何阻止垃圾電子郵件
【科普篇】如何阻止垃圾電子郵件
垃圾郵件是“不請(qǐng)自來(lái)”的電子郵件,通常是批量發(fā)送的。雖然某些垃圾郵件是推銷性質(zhì)的,并沒(méi)有明顯的惡意,但它們也可用于各種攻擊。
Cloudflare
云服務(wù)
2024-12-232024-12-23
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家