日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

被 Next.js 的環(huán)境變量給坑了一把...

來(lái)源: 責(zé)編: 時(shí)間:2023-11-13 09:07:22 292觀看
導(dǎo)讀最近在使用 Next.js 時(shí)遇到了一個(gè)問(wèn)題,最后原因竟是 .env 取值問(wèn)題,為這個(gè)問(wèn)題花費(fèi)了數(shù)小時(shí)的時(shí)間,希望看到這篇文章的朋友,如果遇到類似問(wèn)題,不要重蹈覆轍吧。起初報(bào)錯(cuò)內(nèi)容如下所示:圖片一開始關(guān)注點(diǎn)在下面這行:Generating

最近在使用 Next.js 時(shí)遇到了一個(gè)問(wèn)題,最后原因竟是 .env 取值問(wèn)題,為這個(gè)問(wèn)題花費(fèi)了數(shù)小時(shí)的時(shí)間,希望看到這篇文章的朋友,如果遇到類似問(wèn)題,不要重蹈覆轍吧。SSn28資訊網(wǎng)——每日最新資訊28at.com

起初報(bào)錯(cuò)內(nèi)容如下所示:SSn28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片SSn28資訊網(wǎng)——每日最新資訊28at.com

一開始關(guān)注點(diǎn)在下面這行:SSn28資訊網(wǎng)——每日最新資訊28at.com

Generating static pages (0/10)  [==  ] ? TypeError: Cannot read properties of null (reading 'useContext')

看到這個(gè)報(bào)錯(cuò)以為只是 useContext Hook 的使用問(wèn)題,看了代碼后也沒(méi)看出什么問(wèn)題并且在同事的電腦試過(guò)了沒(méi)有此問(wèn)題,這就很難辦了!SSn28資訊網(wǎng)——每日最新資訊28at.com

懷疑是否是版本問(wèn)題,升級(jí)到最新的 V14.0.1 還是沒(méi)能解決。之后在 Next.js Issue 下搜索相關(guān)關(guān)鍵詞,確實(shí)找到了類似的提問(wèn),例如:?issues#57277、?issues#52478、?discussions#43577,截止目前沒(méi)看到好的解決辦法,還在討論這個(gè)問(wèn)題。SSn28資訊網(wǎng)——每日最新資訊28at.com

之后,注意到控制臺(tái)有以下警告信息。SSn28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片SSn28資訊網(wǎng)——每日最新資訊28at.com

根據(jù)提示看了下詳細(xì)內(nèi)容,注意到了下面標(biāo)注的這句話,大概意思是如果未設(shè)置標(biāo)準(zhǔn)的 NODE_ENV 環(huán)境變量可能會(huì)導(dǎo)致依賴關(guān)系出現(xiàn)意外行為。SSn28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片SSn28資訊網(wǎng)——每日最新資訊28at.com

這個(gè) “意外行為” 就很難講了,說(shuō)不定真和上面的報(bào)錯(cuò)有關(guān)系,在執(zhí)行 next build 時(shí),打印了 NODE_ENV 環(huán)境變量發(fā)現(xiàn)被修改為了 development。在代碼層面我是沒(méi)有設(shè)置的,后來(lái)查了下本機(jī)的 ~/.zshrc 文件,發(fā)現(xiàn)這里設(shè)置了 NODE_ENV 環(huán)境變量為 development,才導(dǎo)致的 next build 時(shí)環(huán)境變量取值繼承了本機(jī)設(shè)置的環(huán)境變量。SSn28資訊網(wǎng)——每日最新資訊28at.com

嘗試修改命令為 NODE_ENV=production next build,結(jié)果成功了。但這種神奇的構(gòu)建問(wèn)題,對(duì)用戶體驗(yàn)是真的不夠好。SSn28資訊網(wǎng)——每日最新資訊28at.com

下面對(duì) Next.js 環(huán)境變量的一些規(guī)則做個(gè)總結(jié)SSn28資訊網(wǎng)——每日最新資訊28at.com

在 Next.js 中,執(zhí)行 next dev 命令時(shí)需要確保 NODE_ENV 為 development。執(zhí)行 next start和 next build 命令時(shí)需要確保 NODE_ENV 為 production。SSn28資訊網(wǎng)——每日最新資訊28at.com

按照 Next.js 官網(wǎng)給的建議,在我們的代碼倉(cāng)庫(kù)最好有三個(gè)文件:SSn28資訊網(wǎng)——每日最新資訊28at.com

  • .env(所有環(huán)境)
  • .env.development(開發(fā)環(huán)境)
  • .env.production(生產(chǎn)環(huán)境)

注意環(huán)境變量的加載順序,Next.js 按以下順序查找環(huán)境變量,一旦找到變量就停止。SSn28資訊網(wǎng)——每日最新資訊28at.com

  • process.env
  • .env.$(NODE_ENV).local
  • .env.local
  • .env.$(NODE_ENV)
  • .env

關(guān)于環(huán)境變量更多內(nèi)容參考 Next.js 文檔 ?https://nextjs.org/docs/app/building-your-application/configuring/environment-variablesSSn28資訊網(wǎng)——每日最新資訊28at.com

SSn28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-22484-0.html被 Next.js 的環(huán)境變量給坑了一把...

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 如何構(gòu)建最小和最大堆

下一篇: 關(guān)于四種獲取當(dāng)前執(zhí)行方法名稱方案的基準(zhǔn)測(cè)試報(bào)告

標(biāo)簽:
  • 熱門焦點(diǎn)
  • K60至尊版狂暴引擎2.0加持:超177萬(wàn)跑分?jǐn)孬@性能第一

    Redmi的后性能時(shí)代戰(zhàn)略發(fā)布會(huì)今天下午如期舉辦,在本次發(fā)布會(huì)上,Redmi公布了多項(xiàng)關(guān)于和聯(lián)發(fā)科的深度合作,以及新機(jī)K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 直屏旗艦來(lái)了 iQOO 12和K70 Pro同臺(tái)競(jìng)技

    旗艦機(jī)基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛好者在苦等一款直屏旗艦,這次,你們等到了。據(jù)博主數(shù)碼閑聊站帶來(lái)的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • 消息稱迪士尼要拍真人版《魔發(fā)奇緣》:女主可能也找黑人演員

    8月5日消息,迪士尼確實(shí)有點(diǎn)忙,忙著將不少動(dòng)畫改成真人版,繼《美人魚》后,真人版《白雪公主》、《魔發(fā)奇緣》也在路上了。據(jù)外媒消息稱,迪士尼將打造真人版
  • Raft算法:保障分布式系統(tǒng)共識(shí)的穩(wěn)健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復(fù)制、可冗余、可容錯(cuò)”)的首字母縮寫。Raft算法是一種用于在分布式系統(tǒng)
  • 一文看懂為蘋果Vision Pro開發(fā)應(yīng)用程序

    譯者 | 布加迪審校 | 重樓蘋果的Vision Pro是一款混合現(xiàn)實(shí)(MR)頭戴設(shè)備。Vision Pro結(jié)合了虛擬現(xiàn)實(shí)(VR)和增強(qiáng)現(xiàn)實(shí)(AR)的沉浸感。其高分辨率顯示屏、先進(jìn)的傳感器和強(qiáng)大的處理能力
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過(guò)這樣的問(wèn)題:移動(dòng)設(shè)備上有一個(gè)固定元素,當(dāng)激活虛擬鍵盤時(shí),該元素被隱藏在了鍵盤下方?多年來(lái),這一直是 Web 上的默認(rèn)行為,在本文中,我們將探討這個(gè)問(wèn)題、為什么會(huì)發(fā)生
  • 重估百度丨大模型,能撐起百度的“今天”嗎?

    自象限原創(chuàng) 作者|程心 羅輯2023年之前,對(duì)于自己的“今天”,百度也很迷茫。“新業(yè)務(wù)到 2022 年底還是 0,希望 2023 年出來(lái)一個(gè) 1。”這是2022年底,李彥宏
  • 2299元起!iQOO Pad明晚首銷:性能最強(qiáng)天璣平板

    5月23日,iQOO如期舉行了新品發(fā)布會(huì),除了首發(fā)安卓最強(qiáng)旗艦處理器的iQOO Neo8系列新機(jī)外,還在發(fā)布會(huì)上推出了旗下首款平板電腦——iQOO Pad,其最大的賣點(diǎn)
  • iQOO Neo8 Pro即將開售:到手價(jià)3099元起 安卓性能最強(qiáng)旗艦

    5月23日,iQOO如期舉行了新品發(fā)布會(huì),全新的iQOO Neo8系列也正式與大家見面,包含iQOO Neo8和iQOO Neo8 Pro兩個(gè)版本,其中標(biāo)準(zhǔn)版搭載高通驍龍8+,而Pro版更
Top 主站蜘蛛池模板: 普陀区| 峨边| 玛曲县| 财经| 乳山市| 永州市| 汾阳市| 碌曲县| 眉山市| 连州市| 和田市| 确山县| 钟祥市| 澄城县| 松溪县| 浪卡子县| 繁峙县| 南充市| 泾川县| 阜阳市| 谢通门县| 朔州市| 历史| 突泉县| 榆林市| 尚义县| 原平市| 兰州市| 宿松县| 信丰县| 汾西县| 扶沟县| 定州市| 曲松县| 蓝山县| 湾仔区| 玉林市| 东丽区| 咸宁市| 日土县| 天祝|