/

如何修復 Next.js 的「找不到模組」錯誤

如何修復 Next.js 的「找不到模組」錯誤

我在使用 Next.js 時遇到了以下問題:

模組找不到:找不到 ‘fs’

在 Next.js 頁面中,您可以從加載 Node.js 模組的文件中導入方法。

這是沒問題的,只要您也在 getStaticProps()使用被導入的方法。

舉個例子,我有以下程式碼:

1
2
3
4
5
6
7
8
9
10
11
12
import { getData } from '../lib/data'

//...

export async function getStaticProps() {
const data = getData()
return {
props: {
data,
},
}
}

當我把 const data = getData() 註解掉後,Next.js 開始報錯「找不到 ‘fs’ 模組」,因為 fs 是我在 lib/data 中首先導入的模組。

這種情況也可能發生在您導入的任何其他 Node 庫上。

原因是在 getStaticProps() 中的任何內容僅在在服務器環境中運行時才被調用,但如果我們不在其中調用 Node.js 函數,Next.js 就不知道該怎麼辦。

tags: [“Next.js”, “Node.js”, “錯誤處理”, “導入模組”]