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

这是AI翻译的帖子。

Sunrabbit

[Next.js] 运行时环境注入

  • 写作语言: 韓国語
  • 基准国家: 所有国家 country-flag

选择语言

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

durumis AI 总结的文章

  • 在 Next.js 中,.env 在构建时被设置,但有时需要根据构建后的运行环境(local、dev、qa、prod)设置环境变量。
  • Windows 用户无法使用传统的 Unix 基于脚本,因此需要安装 cross-env 以编写在 Windows 和 Unix 环境下都能运行的脚本。
  • 将 cross-env 应用于 start 和 dev 命令以设置环境变量,并简化脚本以提高可读性。

Next.js 中的 .env 在構建時被硬編碼。


但有時在構建完成後運行構建的映像時,需要設置 env,有很多需求。

通常,我們會處理 local、dev、qa、prod 等環境。


那麼我們如何實現它?


大多數情況下,這與以下文章中的內容類似。



但是,上面的文章排斥了 Windows。

從它將 Unix 語法插入 package.json 的腳本中可以看出。

這意味著那些不使用骯髒的 Unix,而是清白、乾淨、富有同情心的 Windows 用戶無法使用上述腳本。


因此,乾淨而富有同情心的 Windows 用戶應該體諒 Unix 用戶,並替換一個可以在兩個操作系統上正常運行的腳本。



解決方案很簡單。

只需插入執行類似語法的腳本即可。

使用上述命令安裝 cross-env。


然後,將上面提到的 start 命令修改如下即可解決。

但是,腳本過長,難以查看,還需要添加到 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"

因此,我將其整理成上述形式。

Sunrabbit
Sunrabbit
More than the best, I'll do my best
Sunrabbit
[可觀測性] 日誌收集器 Vector 挑戰 DataDog 開發的日誌收集和處理工具 Vector 使用 Rust 編寫,與 Otel 相比,它更容易編寫日誌轉換代碼,並且支持使用 Helm 在 Kubernetes 環境中與 Loki 集成。但是,在使用過程中可能會遇到一些挑戰,例如未更新的官方文檔、資料不足以及 customConfig 設置時產生的各種問題。

2024年3月9日

[React Hook] useState 本文档详细介绍了 React 的 useState 钩子在重新渲染时重新渲染整个组件的原因、如何保持值以及内部实现结构。通过分析 ReactFiberHooks.js 代码,可以理解钩子的工作方式,并了解 mountState、updateState 和 rerenderState 函数的作用。

2024年3月14日

一次性設定和建立 AWS (Terraform) 本文介紹如何使用 Terraform 自動化 AWS 設定,並簡要說明如何安裝 AWS CLI、設定 IAM 使用者以及下載和管理 Terraform 版本。
Alien Story
Alien Story
Alien Story
Alien Story
Alien Story

2024年5月8日

[Effective Java] 项目 5. 不要显式地使用资源,而应该使用依赖注入 如果类依赖于外部资源,则最好不要使用单例和静态实用程序类。通过依赖注入,可以提高类的灵活性、可重用性和可测试性,而使用工厂方法模式可以使依赖注入更加高效。
제이온
제이온
제이온
제이온

2024年4月28日

Rust 入门指南 Rust 新手指南: 从编译器安装到基本概念理解。通过官方文档和教程学习如何使用最新技术和库。 循序渐进地解释变量、函数、结构体等核心主题,并介绍项目结构、依赖管理、测试编写等。还可以了解 Rust 的各种应用领域和语言历史。
곽경직
곽경직
곽경직
곽경직
곽경직

2024年3月30日

Arduino 環境設定 #2. Arduino IDE 黑暗主題、字體、Tab 間距設定 +a (有用環境設定) 這篇文章會帶您了解如何設定 Arduino IDE,以提高可讀性和生產力。 您可以透過新增程式碼行號、在編譯時顯示詳細輸出、套用黑暗主題、變更字體和 Tab 間距、調整編輯器視窗大小等方式來提高使用者的便利性。
Lucy Archive
Lucy Archive
Arduino IDE 顯示程式碼行號設定
Lucy Archive
Lucy Archive

2024年6月11日

[有效 Java] 項目 3. 使用私有建構函式或枚舉類型來保證單例 本文章介紹了在 Java 中實現單例模式的三種方法(公用靜態成員、靜態工廠方法、枚舉類型),並說明了每種方法的優缺點以及序列化時的注意事項。考慮到反射攻擊的安全性以及程式碼簡潔性,文章建議使用枚舉類型作為最合適的方法。(資料來源:有效 Java, https://catsbi.oopy.io/d7f3a636-b613-453b-91c7-655d71fda2b1)
제이온
제이온
제이온
제이온

2024年4月27日

隱藏的實用韓文書檔編輯,韓文(HWP)小技巧 使用 Hancom Docs 在線開啟和編輯 HWP 文件。 本文介紹了調整字距、分頁、段落縮排等韓文書檔使用的實用技巧。 即使沒有 Hancom Office,也可以免費使用 Hancom Docs 的主要功能。
길리
길리
길리
길리
길리

2024年4月5日