Máy chủ Express, Back-End, API [đã đóng]

Aug 30 2020

Xin chào, tôi là người mới.

  • đã bắt đầu với React.js, bởi chính tôi, ba tháng trước, trên YT.

  • chủ yếu là tìm nạp API

  • một số API được bảo mật bằng chữ ký
  • không biết rằng các lệnh gọi API của tôi phải ở trên máy chủ, không phải trong React

  • nhận được lỗi CORS
  • không biết là gì và làm thế nào để sửa chữa cors.

  • bắt đầu học back-end

mọi video trên YT:

  • Trình giữ chỗ JSON
  • SWAPI

  • không có video với React và back-end,
  • không có yêu cầu đã ký POST từ video máy chủ.
  • gần như bỏ cuộc

Giải pháp lỗi CORS:

  • bây giờ tôi biết cách sửa lỗi cors:
  • với proxy để thể hiện trong package.json,
  • thêm setupProxy.js trong src,
  • và "app.use (cors ())" trong Express server.js

Ứng dụng phản ứng của tôi:

  • chạy 24/7.
  • cần cập nhật trạng thái 3 giây một lần từ API.
  • sau đó so sánh các trạng thái-dữ liệu. (đó là một số công thức và hàm bí mật không thể được công khai nếu điều đó thậm chí có thể. Để ẩn mã trên express server.js)
  • và thực hiện các hành động tương ứng (lệnh gọi API mới).

Phần câu hỏi:

  • là điều đó thậm chí có thể?
  • ứng dụng hoạt động như thế nào nếu không có ai trên trang web?
  • điều này có nghĩa là Express server.js luôn tồn tại
  • và React UI chỉ tồn tại khi ai đó mở trang web để xem điều gì đang xảy ra với dữ liệu

  • làm thế nào để triển khai ứng dụng phản ứng với express? cái này tốt không?:

https://dev.to/nburgess/creating-a-react-app-with-react-router-and-an-express-backend-33l3


  • cách lưu trữ - triển khai ở đâu? Trên trang Github?
  • thực hiện tự động chạy trên máy chủ express khi triển khai hay tôi cần "npm start" trên máy chủ lưu trữ
  • hoặc mở ứng dụng lần đầu tiên, (mở trang web)
  • nó hoạt động như thế nào
  • tôi có cần django không

cái gì tốt hơn:

  • nếu tôi quyết định chia sẻ ứng dụng của mình với những người dùng khác:
  • để cung cấp cho họ mỗi bản sao của ứng dụng phản ứng và họ tự triển khai
  • hoặc là
  • tạo một ứng dụng toàn cầu để mỗi người dùng có thể đăng nhập và có máy chủ express của riêng họ với trang tổng quan, dữ liệu và trạng thái của riêng họ.

  • nếu ứng dụng toàn cầu tốt hơn nên học điều đó


Cảm ơn bạn cho bất kỳ câu hỏi được trả lời.


Trả lời

HeaustAzure Aug 30 2020 at 09:21

Máy chủ chạy 24/7

khi người dùng muốn truy cập một trang của trang web, máy chủ sẽ gửi cho nó bản thiết kế của trang (html, css và js, trong trường hợp này được tạo bởi mã xây dựng react js của bạn), đó là lúc ứng dụng react của bạn trở nên sống động.

bạn đã có express cho phía máy chủ, bạn không cần django.

yea triển khai với heroku là tốt. nó sẽ quản lý máy chủ nhưng bạn sẽ phải thêm một tập lệnh trong package.json của máy chủ để làm cho nó xây dựng phản ứng, nếu bạn chưa tải lên bản dựng phản ứng lên heroku.

"heroku-postbuild": "npm install --prefix client && npm run build --prefix client"

ở đây máy khách là thư mục bạn giữ mã phản ứng của mình.

Nếu nó không được công khai, bạn không nên để nó ở trạng thái phản ứng.

Sử dụng một thứ phổ biến thì tốt hơn, chỉ cần tạo một hệ thống tài khoản với chủ sở hữu làm đặc quyền và có url ở dạng www.website.com/ownerusername và hoàn tất, mọi chủ sở hữu đều có phiên bản trang web của riêng họ.

(có một hướng dẫn về ngăn xếp MERN tuyệt vời trên youtube bằng phương tiện truyền thông đa phương tiện trả lời hầu hết các câu hỏi của bạn)