【发布时间】:2021-12-02 13:42:48
【问题描述】:
所以,我使用最新版本的下一个 js ^11.1.2。根据文档,在 getStaticProps() 函数中使用服务器端(节点 js)代码很好,因为它从客户端构建中删除了“fs”导入。
但在我的情况下它不起作用。
下面的代码是我做的……
import fs from "fs/promises";
import path from "path";
function HomePage(props) {
return (
<ul>
{props.products.map((el) => (
<li key={el.id}>{el.title}</li>
))}
</ul>
);
}
export async function getStaticProps() {
try {
let data = await fs.readFileSync(
path.join(process.cwd(), "data", "dummy-backend.json")
);
console.log(data);
data = JSON.parse(data);
return {
props: {
products: data.products,
},
};
} catch (err) {
console.log(err);
return {
props: {
products: [],
error: "Error in fetching data",
},
};
}
}
export default HomePage;
Picture of the error displayed in the terminal
我在开发环境中。
【问题讨论】:
-
您使用的是哪个 Node.js 版本?
fs/promises在低于 14 的版本上不可用。 -
我使用的是node js v12.16.2。
标签: javascript node.js next.js server-side-rendering development-environment