Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

Đây là bài viết được dịch bởi AI.

Sunrabbit

[Next.js] Tiêm env thời gian chạy

  • Ngôn ngữ viết: Tiếng Hàn Quốc
  • Quốc gia cơ sở: Tất cả các quốc gia country-flag

Chọn ngôn ngữ

  • Tiếng Việt
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

Văn bản được tóm tắt bởi AI durumis

  • Trong Next.js, .env được thiết lập tại thời điểm xây dựng, nhưng đôi khi cần phải thiết lập biến môi trường theo môi trường hoạt động (local, dev, qa, prod) sau khi xây dựng.
  • Người dùng Windows không thể sử dụng các script dựa trên Unix truyền thống, vì vậy cần cài đặt cross-env để tạo các script hoạt động trên cả Windows và Unix.
  • Áp dụng cross-env vào các lệnh start và dev để thiết lập biến môi trường và sắp xếp lại script cho gọn gàng, tăng khả năng đọc.

Trong Next.js, .env được hardcode vào trong quá trình build.


Tuy nhiên, đôi khi có nhiều nhu cầu cần thiết lập env khi chạy image đã build, không phải trong quá trình build.

Thông thường, chúng ta xử lý các môi trường như local, dev, qa, prod.


Vậy làm cách nào để đạt được điều đó?


Hầu hết các ngữ cảnh đều tương tự như bài viết bên dưới.



Tuy nhiên, bài viết trên lại loại trừ Windows.

Có thể thấy rằng nó sử dụng cú pháp Unix trong script của package.json.

Điều này có nghĩa là người dùng Windows trong sạch, thanh lịch, đầy lòng vị tha và không sử dụng Unix bẩn thỉu sẽ không thể sử dụng script này.


Do đó, người dùng Windows thanh lịch và đầy lòng vị tha cần phải quan tâm đến người dùng Unix và thay thế script đó bằng một script hoạt động tốt trên cả hai hệ điều hành.



Giải pháp rất đơn giản.

Chỉ cần chèn một script thực hiện tương tự cú pháp đó.

Cài đặt cross-env bằng lệnh như trên.


Và sửa lại lệnh start đã đề cập ở trên như sau để giải quyết vấn đề.

Tuy nhiên, script quá dài và khó nhìn, đồng thời cần phải gắn thêm vào cả lệnh dev.

{
    "dev": "npm run _env:-local && next dev",
    "dev:dev": "npm run _env:dev && next dev",
    "start": "npm run _env:-local && next start",
    "_env:-local": "cross-env-shell node ./utils/cli.js next-env -e $APP_ENV",
    "_env:dev": "node ./utils/cli.js next-env -e dev"

Vì vậy, tôi đã sắp xếp lại như trên.

Sunrabbit
Sunrabbit
More than the best, I'll do my best
Sunrabbit
[Observability] Thách thức với bộ thu thập nhật ký Vector Vector, công cụ thu thập và xử lý nhật ký được phát triển bởi DataDog, được viết bằng Rust, cho phép dễ dàng viết mã chuyển đổi nhật ký hơn Otel và hỗ trợ tích hợp với Loki trong môi trường Kubernetes sử dụng Helm. Tuy nhiên, bạn có thể gặp phải những khó

9 tháng 3, 2024

[React Hook] useState Bài viết này giải thích lý do tại sao React useState hook lại render lại toàn bộ component khi render lại, cách duy trì giá trị, và mô tả chi tiết cấu trúc triển khai bên trong. Phân tích mã ReactFiberHooks.js để hiểu cách hoạt động của hook, và xác định

14 tháng 3, 2024

[Hiệu quả Java] Mục 6. Tránh tạo đối tượng không cần thiết Hướng dẫn về cách giảm thiểu việc tạo đối tượng không cần thiết trong Java. Đối với các đối tượng bất biến như String, Boolean, nên sử dụng literal, và đối với biểu thức chính quy, tốt nhất nên cache instance Pattern. Ngoài ra, việc auto-boxing có thể dẫn
제이온
제이온
제이온
제이온

28 tháng 4, 2024

[Spring] Cách sử dụng @Async Tìm hiểu cách sử dụng Spring @Async để triển khai xử lý bất đồng bộ Java một cách dễ dàng. Với chú thích @Async, bạn có thể chuyển đổi các phương thức đồng bộ thành bất đồng bộ và cải thiện hiệu quả bằng cách thiết lập bộ lọc luồng. Bài viết cũng đề cập đ
제이온
제이온
제이온
제이온

25 tháng 4, 2024

[Effective Java] Mục 2. Sử dụng builder khi constructor có nhiều tham số Khi tạo đối tượng có nhiều tham số, sử dụng pattern builder có thể giúp viết code rõ ràng và dễ đọc hơn. Tạo đối tượng builder với các tham số bắt buộc, sử dụng setter method để thiết lập các tham số tùy chọn và sau đó gọi method build() để hoàn thiện đối
제이온
제이온
제이온
제이온

27 tháng 4, 2024

Cài đặt và tạo AWS hoàn chỉnh trong một lần (Terraform) Bài viết này giới thiệu cách sử dụng Terraform để tự động hóa việc cấu hình AWS, đồng thời cung cấp thông tin khái quát về cách cài đặt AWS CLI, cách thiết lập người dùng IAM, cách tải xuống Terraform và quản lý phiên bản.
Alien Story
Alien Story
Alien Story
Alien Story
Alien Story

8 tháng 5, 2024

Hãy xem xét sử dụng các phương thức giao hàng tĩnh thay vì bộ khởi tạo - Mục 1 [Effective Java] Các phương thức giao hàng tĩnh có thể kiểm soát việc tạo đối tượng bằng tên, giúp việc này trở nên tiện lợi. Chúng cũng có thể trả về các đối tượng hiện có thay vì tạo mới mỗi lần, trở nên hiệu quả hơn. Mặc dù có nhược điểm là khó kế thừa, nhưng chúng phù
제이온
제이온
제이온
제이온

27 tháng 4, 2024

Hướng dẫn giới thiệu Rust Hướng dẫn dành cho người mới bắt đầu Rust: Từ cài đặt biên dịch đến hiểu các khái niệm cơ bản. Sử dụng tài liệu chính thức và khóa học để tận dụng các công nghệ và thư viện mới nhất. Giải thích từng chủ đề cốt lõi như biến, hàm, cấu trúc, v.v. và giới thi
곽경직
곽경직
곽경직
곽경직
곽경직

30 tháng 3, 2024