Đến nội dung chính
CafeJS Docs
Trên trang này 4 mục
  1. 3.4.1 Bảng biến
  2. 3.4.2 File mẫu
  3. 3.4.3 SITE_URL
  4. 3.4.4 PUBLIC_FORM_ENDPOINT

Biến môi trường

Chạy trên máy không cần biến nào. Khi đưa lên mạng, các biến dưới được đọc lúc build; đổi biến nào cũng phải build lại.

Bảng biến

BiếnKhi nào cầnDùng để
TINA_CLIENT_IDCách 1Client ID của project TinaCloud
TINA_TOKENCách 1Token chỉ đọc của project TinaCloud
GITHUB_BRANCHCách 1, khi nhánh nội dung không phải mainNhánh TinaCloud đọc và ghi
SITE_URLKhi go-liveĐịa chỉ gốc của site. Thiếu thì không có canonical, sitemap.xml và dữ liệu có cấu trúc cho Google
PUBLIC_FORM_ENDPOINTSite có form liên hệ hoặc đặt lịchĐịa chỉ nhận câu trả lời của form. Trống thì form chỉ hiện thông báo trang mẫu, không gửi đi đâu
TINA_PUBLIC_ADMIN_READONLY, TINA_PUBLIC_CONTENT_API_URLAdmin xem thửpnpm build:review đặt sẵn cả hai

File mẫu

Mẫu có sẵn file .env.example:

.env.example
# TinaCloud project, only needed for `pnpm build` and the deployed admin
TINA_CLIENT_ID=
TINA_TOKEN=

# Public preview admin (`pnpm build:review` sets both): no sign-in, nothing saved, and the
# server answers the admin's GraphQL itself at /api/tina/gql (see DEPLOY.md).
TINA_PUBLIC_ADMIN_READONLY=
TINA_PUBLIC_CONTENT_API_URL=

# The site's address, read at build time (https://example.com). Set it for go-live: canonical,
# og:url, the JSON-LD graph and sitemap.xml exist only in a build that has it. Unset, the build
# warns once and leaves them out.
# SITE_URL=

# Where the contactForm section posts its answers (JSON), read at build time. Empty: the
# form only shows the sample-site notice and sends nothing. https URL, local http URL or /path.
PUBLIC_FORM_ENDPOINT=

Lưu ý

Biến môi trường được đọc lúc build. Đổi biến nào cũng phải build lại.

SITE_URL

Có SITE_URL thì trang có canonical và og:url, ảnh Open Graph và hreflang là địa chỉ đầy đủ, mỗi trang được index có khối dữ liệu có cấu trúc, và sitemap.xml được sinh. Thiếu thì build in một cảnh báo và bỏ các phần đó; robots.txt vẫn có.

PUBLIC_FORM_ENDPOINT

Form gửi POST JSON { locale, page, form, fields } tới địa chỉ này; trả mã 2xx là thành công, quá 15 giây thì báo lỗi. Nhận địa chỉ https://…, địa chỉ trên máy http://localhost… hoặc đường dẫn cùng site /….

  • fields dùng ô Name sent to the endpoint của từng dòng làm tên, giống nhau ở vi và en.
  • form là anchor của section, nên nơi nhận phân biệt form bằng form cùng locale.
  • Nơi nhận ở domain khác phải cho phép CORS (POST, header Content-Type: application/json) từ domain của site.

Nguy hiểm

Địa chỉ này nằm công khai trong HTML của mọi trang có form. Không đặt khoá bí mật trong URL, và nơi nhận phải có giới hạn số lần gửi.