vite修仙傳12-故障排除

故障排除?

你還可以查看 Rollup 的故障排除指南 了解更多今布。

如果這里的建議并未幫助到你帘靡,請將你的問題發(fā)送到 GitHub 討論區(qū)Vite Land Discord#help 頻道拒秘。

CLI?

Error: Cannot find module 'C:\foo\bar&baz\vite\bin\vite.js'?

你的項目文件夾路徑中可能包含了符號 &渺杉,這在 Windows 上無法與 npm 配合正常工作 (npm/cmd-shim#45)双霍。

你可以選擇以下兩種修改方式:

  • 切換另一種包管理工具(例如 pnpmyarn
  • 從你的項目路徑中移除符號 &

開發(fā)服務器?

請求始終停滯?

如果你使用的是 Linux砚偶,文件描述符限制和 inotify 限制可能會導致這個問題批销。由于 Vite 不會打包大多數文件,瀏覽器可能會請求許多文件染坯,而相應地需要許多文件描述符均芽,因此超過了限制。

要解決這個問題:

  • 使用 ulimit 增加文件描述符的限制

    shell

    # 查看當前限制值
    $ ulimit -Sn
    # (暫時)更改限制值
    $ ulimit -Sn 10000 # 你可能也需要更改硬性限制值
    # 重啟你的瀏覽器
    
    
  • 通過 sysctl 提升下列 inotify 相關的限制

    shell

    # 查看當前限制值
    $ sysctl fs.inotify
    # (暫時)更改限制值
    $ sudo sysctl fs.inotify.max_queued_events=16384
    $ sudo sysctl fs.inotify.max_user_instances=8192
    $ sudo sysctl fs.inotify.max_user_watches=524288
    
    

如果通過以上步驟仍不起作用单鹿,可以嘗試在以下文件中添加 DefaultLimitNOFILE=65536 配置掀宋。

  • /etc/systemd/system.conf
  • /etc/systemd/user.conf

對于 Ubuntu Linux 操作系統(tǒng),你可能需要添加一行 * - nofile 65536 到文件 /etc/security/limits.conf 之中仲锄,而不是更新 systemd 配置文件劲妙。

請注意,這些配置會持久作用儒喊,但需要 重新啟動镣奋。

網絡請求停止加載?

使用自簽名SSL證書時,Chrome 會忽略所有緩存指令并重新加載內容怀愧。而 Vite 依賴于這些緩存指令侨颈。

要解決此問題,請使用受信任的SSL證書芯义。

請查看:緩存問題 和相關的 Chrome issue

macOS?

您可以使用以下命令通過 CLI 安裝受信任的證書:

security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain-db your-cert.cer

或者哈垢,通過將其導入 Keychain Access 應用程序并將您的證書的信任更新為“始終信任”冬三。

431 Request Header Fields Too Large?

當服務器或 WebSocket 服務收到一個較大的 HTTP 頭凹耙,該請求可能會被遺落并且會顯示下面這樣的警告灾前。

Server responded with status code 431. See https://vitejs.dev/guide/troubleshooting.html#_431-request-header-fields-too-large.

這是由于 Node.js 限制請求頭大小定拟,以減輕 CVE-2018-12121 的影響僚稿。

要避免這個問題旬迹,請嘗試減小請求頭大小悦荒。舉個例子茫打,如果 cookie 太長待秃,請刪除它拜秧。或者你可以使用 --max-http-header-size 來更改最大請求頭大小章郁。

HMR?

Vite 檢測到文件變化枉氮,但 HMR 不工作?

你可能導入了一個擁有不同大小寫的文件,例如暖庄,存在 src/foo.js 文件而 src/bar.js 導入了它:

js

import './Foo.js' // 應該為 './foo.js'

相關 issue:#964

Vite 沒有檢測到文件變化?

如果你正在 WSL2 中運行 Vite聊替,Vite 無法在某些場景下監(jiān)聽文件變化。請查看 server.watch 選項 的描述培廓。

完全重新加載了惹悄,而不是 HMR?

如果 HMR 不是由 Vite 或一個插件處理的,那么將進行完全的重新加載肩钠。

同時如果有依賴環(huán)泣港,也會發(fā)生完全重載暂殖。要解決這個問題,請先嘗試解決依賴循環(huán)当纱。

控制臺中大量熱更新?

這可能是由循環(huán)依賴引起的呛每。要解決這個問題,請先嘗試解決依賴循環(huán)坡氯。

構建?

構建產物因為 CORS 錯誤無法工作?

如果導出的 HTML 文件是通過 file 協(xié)議打開的晨横,那么其中的 script 將不會運行,且報告下列錯誤箫柳。

Access to script at 'file:///foo/bar.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at file:///foo/bar.js. (Reason: CORS request not http).

請查看 釋因:CORS 請求不是 HTTP 請求 - HTTP | MDN 了解為什么會發(fā)生這種情況的更多信息手形。

你需要通過 http 協(xié)議訪問該文件。最簡單的辦法就是使用 npx vite preview滞时。

其他?

Module externalized for browser compatibility?

當你在瀏覽器中使用一個 Node.js 模塊時叁幢,Vite 會輸出以下警告:

Module "fs" has been externalized for browser compatibility. Cannot access "fs.readFile" in client code.

這是因為 Vite 不會自動 polyfill Node.js 的內建模塊。

我們推薦你不要在瀏覽器中使用 Node.js 模塊以減小包體積坪稽,盡管你可以為其手動添加 polyfill曼玩。如果該模塊是被某個第三方庫(這里意為某個在瀏覽器中使用的庫)導入的酌儒,則建議向對應庫提交一個 issue事示。

出現 Syntax Error 或 Type Error?

Vite 無法處理、也不支持僅可在非嚴格模式(sloppy mode)下運行的代碼鳖宾。這是因為 Vite 使用了 ESM 并且始終在 ESM 中使用 嚴格模式篙梢。

例如顷帖,你可能會看到以下錯誤。

[ERROR] With statements cannot be used with the "esm" output format due to strict mode

TypeError: Cannot create property 'foo' on boolean 'false'

如果這些代碼是在依賴中被使用的渤滞,你應該使用 patch-package(或者 yarn patch贬墩、pnpm patch 工具)來做短期補丁處理。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末妄呕,一起剝皮案震驚了整個濱河市陶舞,隨后出現的幾起案子,更是在濱河造成了極大的恐慌绪励,老刑警劉巖肿孵,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異疏魏,居然都是意外死亡停做,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門大莫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛉腌,“玉大人,你說我怎么就攤上這事∶继В” “怎么了贯吓?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蜀变。 經常有香客問我,道長介评,這世上最難降的妖魔是什么库北? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮们陆,結果婚禮上寒瓦,老公的妹妹穿的比我還像新娘。我一直安慰自己坪仇,他們只是感情好杂腰,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著椅文,像睡著了一般喂很。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上皆刺,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天少辣,我揣著相機與錄音,去河邊找鬼羡蛾。 笑死漓帅,一個胖子當著我的面吹牛,可吹牛的內容都是我干的痴怨。 我是一名探鬼主播忙干,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼浪藻!你這毒婦竟也來了捐迫?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤珠移,失蹤者是張志新(化名)和其女友劉穎弓乙,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體钧惧,經...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡暇韧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了浓瞪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懈玻。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乾颁,靈堂內的尸體忽然破棺而出涂乌,到底是詐尸還是另有隱情艺栈,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布湾盒,位于F島的核電站湿右,受9級特大地震影響,放射性物質發(fā)生泄漏罚勾。R本人自食惡果不足惜毅人,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尖殃。 院中可真熱鬧丈莺,春花似錦、人聲如沸送丰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽器躏。三九已至俐载,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邀桑,已是汗流浹背瞎疼。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留壁畸,地道東北人贼急。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像捏萍,于是被迫代替她去往敵國和親太抓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內容