如果仅在 Next.js SSG 中的服务器中使用,为什么 moment / i18 代码会下载到客户端

Why moment / i18 code is downloaded to client if using only in server in Next.js SSG

我们使用 moment 和 i18 进行翻译,但仅限于服务器端。生成时HTML。为什么要下载到客户端?为什么它使用 brandwith 并增加“交互时间”?

一些代码

import { useEffect, useState } from "react";
import dynamic from "next/dynamic";
import {
  getDateString,
  getFormattedTimeInterval,
  countTotalBookings,
} from "../../Utility/Utility";
import { MainTableProps, EventTypeEnum, PricingOptionType } from "../../Types";
import { useTranslation } from "react-i18next";
import useWindowSize from "../../Utility/UseWindowSize";
import i18n from "i18next";
import accounting from "accounting-js";
import moment from "moment";
function MainTable(props: MainTableProps) {
  const {
    showOnlyStartEndTime,
    eventTimes,
    passes,
    pricingOptions,
    ratingAvg,
    minParticipants,
    maxParticipants,
  } = props.buyTicketData;
  const { t } = useTranslation("buyTicket");
  return (
    ...

                     <span>
                        {!props.dateRange[0].startDate ||
                        !props.dateRange[0].endDate
                          ? t("cdr34")
                          : moment(props.dateRange[0].startDate).format(
                              "YYYY.MM.DD"
                            ) +
                            " - " +
                            moment(props.dateRange[0].endDate).format(
                              "YYYY.MM.DD"
                            )}
                      </span>

如果您只想在服务器端进行计算,那么您应该使用 getServerSideProps 中的函数而不是组件的 return 块