iT邦幫忙

0

請問 .NET Core + React 的專案是怎麼運作的

我有使用 node 開發過 react 的經驗
node 會預設將 react 掛在3000 port
但使用.NET Core + React的專案時,是前後端一起掛在某個port上?
請問這是怎麼達到的?
我個人想法:

  1. 是 core 收到 request,看是不是後端的 request,若不是則 response react給client,這過程中沒使用到node,但我一直以為 react 要用 node 開起來,才能使用。
  2. core 有用 node 開 react(只是沒有對外開放,只有core自己知道),當收到 request 時去比對是前端或後端的請求,若是前端的話就去跟 react server 要資料,再轉送給 client,這個部分就有點像是 core 是 react 與 client 中間的代理人。

但我不知道哪個是對的,或兩個都是錯的,懇請有經驗的幫忙解惑!

看更多先前的討論...收起先前的討論...
DanSnow iT邦研究生 5 級 ‧ 2021-05-29 22:06:24 檢舉
兩個都行,只是 2 是多此一舉, React 本身就是跑在前端的東西,跟 Node.js 無關, Node.js 對 React 來說就只是開發工具而已,打包完後就跟一般的 js 一樣跑在前端就行了
wrxue iT邦研究生 3 級 ‧ 2021-05-29 22:10:44 檢舉
DanSnow您好,
想更確認一下,所以根據您所說,.NET Core + React 專案在編譯時,會先使用 Node 將 React 打包好,然後運行時,是以 1 的方式執行是嗎?
DanSnow iT邦研究生 5 級 ‧ 2021-05-29 22:47:16 檢舉
是啊,應該說我也不知道你 core 是怎麼設定的,如果你直接用 core 來提供檔案那就會是,不過一般應該會在前面還有架一個伺服器吧
wrxue iT邦研究生 3 級 ‧ 2021-05-29 23:17:29 檢舉
DanSnow 您好
我是直接在vs開core+react專案的樣板直接跑的。
請問您說的一般來說會在前面還有架一個伺服器,是指反向代理之類的嗎?
DanSnow iT邦研究生 5 級 ‧ 2021-05-30 12:40:00 檢舉
對啊
wrxue iT邦研究生 3 級 ‧ 2021-05-30 13:40:31 檢舉
這樣我了解了,我一直以為 node 是運行 react 的條件,但事實上他只是拿來開發 react 的一個工具環境,當開發完再使用 node 將其編譯並且打包起來後,就可以當作純 js 來放到 <script> 被引用。
這也就是 core 如何調用 react 的方法,若 core 發現 request 並非對 api 發出請求,就會回傳 html 裡面包含該 <script> 給 client 端,當瀏覽器解析到該 <script> 時,會發出請求並運行 react 本身程式碼。
太感謝您了!

1 個回答

0
小魚
iT邦大師 1 級 ‧ 2021-05-30 14:24:11

其實,
打包React的不是Node,
是npm.
而且如果你是用VS來編譯React的話,
那其實就不用管React了,
直接看VS發行出來該怎麼做就怎麼做.

我要發表回答

立即登入回答