### 開發專案時遇上的疑難雜症及解決方法 #### 1\. 執行 `npm run dev` 之後,在某一頁突然跳錯,顯示: ``` [ERROR] No loader is configured for ".node" files: node_modules/fsevents/fsevents.node ``` **解決方法** 先確認其他頁面是否正常執行 如果只有單一頁面出錯,檢查該頁面的 JS 檔案,確認所有 `import` 如果發現多了奇怪的 `import` 檔案,**把它移除**,就 OK 哩 !! 目前推測很有可能是在 coding 的過程中, 誤按了 VSCode 的快捷鍵 Tab 導致引入它根據我們的輸入提供的相關檔案而造成。 *** 如果所有怪檔案都移除了還是會跳錯,就 ... 也不知道怎麼辦 XD 以下是我詢問 chatGPT 後得到的解方,可以考慮試試看( 建議先把專案備份起來之後再測試 ) > **忽略 fsevents 的安裝( 僅適用於非 macOS ):** 如果你的開發環境不是在 macOS 上, 你可以忽略 fsevents 的安裝,而使用其他的文件監視工具。 透過以下指令完成: ``` npm install --no-optional ``` ( 記得先把 node_modules 移除,再重新執行 npm install ) > **裝置 fsevents 的 loader:** 如果你確定需要 fsevents 你可能需要在你的 Vite 開發環境中添加一個專門處理 ".node" 文件的 loader 在 `vite.config.js` 中添加類似以下的配置: ``` export default { resolve: { alias: { fsevents: false, }, }, optimizeDeps: { exclude: ['fsevents'], }, }; ``` 我的[案例](https://github.com/QuantumParrot/2023-Dessert-Webshop-Project/blob/main/js/products-detail.js),可參考其中的第 13 行程式碼 --- #### 2\. json-server-auth 無法運作,顯示: ``` Cannot find module 'express' ``` or ``` Cannot find module 'json-server' ``` 如果這兩個套件都已經安裝卻仍然跳出這個錯誤, 那麼很有可能是**在 2023 年底時 json-server 進行了大改版**的緣故, 前往它的 [GitHub](https://github.com/typicode/json-server/releases) 能夠查看最近的更新情形: 截至目前為止 ( 2024/01/17 ) 已經升級至 `v1.0.0-alpha.21` 哩! 而另一方面 json-server-auth 已經**將近兩年沒有更新**, 因此筆者推測很有可能是版本不相容導致的錯誤, 建議可以先將當前的 json-server 解除安裝 ( 如果是 mac 記得在指令的最前面補上 `sudo` ) ``` npm uninstall json-server -g ``` 之後重新安裝降級版本: ``` npm install json-server@v0.17.4 -g ``` 如果還是不行就改成 `@v0.17.3` ... 以此類推,慢慢降級到可以運行為止, 應該就沒問題了!:D