NextJS 是不是包含仅在包中的 getServerSideProps 中引用的库?

Posted

技术标签:

【中文标题】NextJS 是不是包含仅在包中的 getServerSideProps 中引用的库?【英文标题】:Does NextJS include libraries that are referenced only in getServerSideProps in the bundle?NextJS 是否包含仅在包中的 getServerSideProps 中引用的库? 【发布时间】:2021-12-14 05:22:29 【问题描述】:

我有一个 Next.js 页面,它从 getServerSideProps() 内部的数据库(使用 prisma 作为 ORM)获取数据。

我的工作基于this example from an official Prisma github。这是页面设置的简化版本:

import prisma from 'prisma';

export const getServerSideProps = async ( req, res ) => 
  const drafts = await prisma.post.findMany(...);
;

const MyPage = () => return <div>Hello</div>;
export default MyPage;

Prisma 被导入页面文件并在getServerSideProps() 中引用,但在导出的实际页面组件中未引用。我的问题是,prisma 会包含在与此页面一起发送到浏览器的捆绑包中吗?或者 Next 是否足够聪明,可以修剪仅在服务器端函数中引用的包?

【问题讨论】:

【参考方案1】:

没有。它将捆绑到客户端。 Next.js 确实够聪明。

参考这里: https://nextjs.org/docs/basic-features/data-fetching#getserversideprops-server-side-rendering

【讨论】:

以上是关于NextJS 是不是包含仅在包中的 getServerSideProps 中引用的库?的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 在包中使用自定义 USER-Model

在 Python 中,是不是可以在包级别从子包中公开模块?

使用 Autotools 在包中添加 .c 文件而不编译它们

具有相同名称的 Python 模块(即,在包中重用标准模块名称)

PL/SQL 包 - 在包中调用过程

swift包管理器中的“警告:没有要在包中构建的目标”错误