成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開(kāi)發(fā) 前端
在 Next.js 中,執(zhí)行 next dev? 命令時(shí)需要確保 NODE_ENV? 為 development?。執(zhí)行 next start?和 next build? 命令時(shí)需要確保 NODE_ENV? 為 production。

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

起初報(bào)錯(cuò)內(nèi)容如下所示:

圖片圖片

一開(kāi)始關(guān)注點(diǎn)在下面這行:

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)題,這就很難辦了!

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

之后,注意到控制臺(tái)有以下警告信息。

圖片圖片

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

圖片圖片

這個(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)境變量。

嘗試修改命令為 NODE_ENV=production next build,結(jié)果成功了。但這種神奇的構(gòu)建問(wèn)題,對(duì)用戶體驗(yàn)是真的不夠好。

下面對(duì) Next.js 環(huán)境變量的一些規(guī)則做個(gè)總結(jié)

在 Next.js 中,執(zhí)行 next dev 命令時(shí)需要確保 NODE_ENV 為 development。執(zhí)行 next start和 next build 命令時(shí)需要確保 NODE_ENV 為 production。

按照 Next.js 官網(wǎng)給的建議,在我們的代碼倉(cāng)庫(kù)最好有三個(gè)文件:

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

注意環(huán)境變量的加載順序,Next.js 按以下順序查找環(huán)境變量,一旦找到變量就停止。

  • 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-variables

責(zé)任編輯:武曉燕 來(lái)源: 編程界
相關(guān)推薦

2025-03-19 08:06:31

2024-09-18 00:00:01

ChatGPTOpenAI工具型

2022-10-13 18:54:57

JavaScriptQwikReact

2024-12-13 08:37:32

2021-06-09 08:21:14

Webpack環(huán)境變量前端

2022-02-22 20:48:48

RemixNext.js框架

2021-12-27 08:31:42

Next.js SSRSSG

2024-01-04 14:16:05

騰訊紅黑樹(shù)Socket

2024-04-18 08:00:23

openInula?React響應(yīng)式 API

2025-02-03 00:00:35

2019-10-30 05:51:07

物聯(lián)網(wǎng)設(shè)備物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)

2025-03-06 00:00:00

2020-12-14 11:40:27

Next.js SSRReact

2024-12-16 08:40:51

2024-03-29 08:32:01

Node.jsNext.js組件

2024-11-25 07:39:48

2024-05-09 09:01:03

2024-09-20 15:37:02

2025-01-17 09:29:42

2021-01-04 09:06:18

Next.js設(shè)計(jì)技巧
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久精品中文字幕 | 91成人在线 | 在线播放第一页 | 国产91网站在线观看 | 亚洲伊人久久综合 | 欧美视频一区二区三区 | 91精品入口蜜桃 | 精品一二三 | 亚洲精品久久久久久久久久久 | 亚洲精品在线免费看 | 手机在线观看 | 日韩精品区| 久久久久免费精品国产小说色大师 | 欧美手机在线 | aaa级片 | 成人影院一区二区三区 | 成年人在线视频 | 国产在线精品一区二区三区 | 国产不卡视频在线 | 久久成人免费视频 | 狠狠操电影 | 91社区在线观看高清 | 久久综合国产精品 | 国产不卡一区 | 国色天香综合网 | 精品国产欧美 | 日韩精品成人免费观看视频 | 色综合色综合色综合 | 超碰电影| 亚洲成人免费电影 | 国产黄色精品 | 色吊丝2| 亚洲国产高清免费 | 精品1区2区3区4区 | 亚洲国产欧美一区 | 在线免费看黄 | 欧美综合久久久 | 日韩中文一区二区三区 | 91久久久久久久久久久久久 | 日韩视频在线免费观看 | 精品国产一区二区三区av片 |