next.js/packages/next/src/server/app-render/get-asset-query-string.ts
get-asset-query-string.ts26 lines795 B
import type { AppRenderContext } from './app-render'

const isDev = process.env.NODE_ENV === 'development'
const isTurbopack = !!process.env.TURBOPACK

export function getAssetQueryString(
  ctx: AppRenderContext,
  addTimestamp: boolean
) {
  let qs = ''

  // In development we add the request timestamp to allow react to
  // reload assets when a new RSC response is received.
  // Turbopack handles HMR of assets itself and react doesn't need to reload them
  // so this approach is not needed for Turbopack.
  const shouldAddVersion = isDev && !isTurbopack && addTimestamp
  if (shouldAddVersion) {
    qs += `?v=${ctx.requestTimestamp}`
  }

  if (ctx.sharedContext.clientAssetToken) {
    qs += `${shouldAddVersion ? '&' : '?'}dpl=${ctx.sharedContext.clientAssetToken}`
  }
  return qs
}
Quest for Codev2.0.0
/
SIGN IN