gpt4 book ai didi

Next.js - 在文件中导入服务器端包同时包含服务器端和客户端功能?

转载 作者:行者123 更新时间:2023-12-03 23:44:13 30 4
gpt4 key购买 nike

假设我有一个名为 utils.js 的文件,其中包含两个函数 s 和 c。
s 是一个服务器端函数(在/api 端点处理程序上调用),并使用 mongodb 包。
c 是一个客户端函数(将被捆绑并发送到浏览器)。
使用 next build 编译应用程序时,会导致任何问题吗?
webpack 是否知道仅捆绑文件/模块的一部分? (将服务器端函数和导入视为“死代码”,因为它们仅从服务器端代码调用)
谢谢

最佳答案

如果您需要知道哪些功能绑定(bind)到客户端以及哪些功能绑定(bind)到服务器,有一个简单的方法可以了解这一点 → https://next-code-elimination.now.sh/
只需将文件的内容复制并粘贴到其中,您就会看到哪些代码被捆绑到客户端以及哪些代码被捆绑到服务器。如果您有导入,请确保将所有导入放在一个文件中,以便您查看它是如何工作的。
拇指规则是:
getServerSideProps 这样的东西, getStaticProps & getStaticPaths将从捆绑的代码中删除。如果您从使用服务器端代码(如 fs)的文件中导入任何内容但不在上述 3 个函数中的任何一个中使用它,那么它不会被删除(在 Next Code Elimination Tool 中检查)并且会给你一个错误。
工具就是答案。我将我的文件复制粘贴到其中并立即找到答案。

关于Next.js - 在文件中导入服务器端包同时包含服务器端和客户端功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63879599/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com