Skip to content

Параметры SSR

Если не указано иное, параметры, описанные в этом разделе, применяются как к режиму разработки, так и к сборке.

ssr.external

Экстернализируйте указанные зависимости и их транзитивные зависимости для SSR. По умолчанию все зависимости экстернализуются, за исключением связанных зависимостей (для HMR). Если вы предпочитаете экстернализовать связанную зависимость, вы можете передать её имя в эту опцию.

Если установлено значение true, все зависимости, включая связанные, будут экстернализованы.

Обратите внимание, что явно указанные зависимости (с использованием типа string[]) всегда будут иметь приоритет, если они также указаны в ssr.noExternal (с использованием любого типа).

ssr.noExternal

Предотвратите экстернализацию перечисленных зависимостей для SSR, которые будут упакованы в сборку. По умолчанию только связанные зависимости не экстернализуются (для HMR). Если вы предпочитаете экстернализовать связанную зависимость, вы можете передать её имя в опцию ssr.external.

Если установлено значение true, никакие зависимости не экстернализуются. Однако зависимости, явно указанные в ssr.external (с использованием типа string[]), могут иметь приоритет и всё равно быть экстернализованы. Если установлено ssr.target: 'node', встроенные модули Node.js также будут экстернализованы по умолчанию.

Обратите внимание, что если одновременно настроены ssr.noExternal: true и ssr.external: true, приоритет будет у ssr.noExternal, и никакие зависимости не будут экстернализованы.

ssr.target

  • Тип: 'node' | 'webworker'
  • По умолчанию: node

Целевая платформа для сборки сервера SSR.

ssr.resolve.conditions

  • Тип: string[]
  • По умолчанию: ['module', 'node', 'development|production'] (defaultServerConditions) (['module', 'browser', 'development|production'] (defaultClientConditions) for ssr.target === 'webworker')
  • Связано: Разрешённые условия

Эти условия используются в процессе работы плагинов и влияют только на неэкстернализованные зависимости во время сборки SSR. Используйте ssr.resolve.externalConditions, чтобы повлиять на экстернализованные импорты.

ssr.resolve.externalConditions

  • Тип: string[]
  • По умолчанию: ['node']

Условия, которые используются во время импорта SSR (включая ssrLoadModule) внешних прямых зависимостей (внешние зависимости, импортируемые Vite).

СОВЕТ

При использовании этой опции убедитесь, что вы запускаете Node с флагом --conditions с одинаковыми значениями как в режиме разработки, так и в сборке, чтобы получить согласованное поведение.

Например, при установке ['node', 'custom'] вы должны запустить NODE_OPTIONS='--conditions custom' vite в режиме разработки и NODE_OPTIONS="--conditions custom" node ./dist/server.js после сборки.

ssr.resolve.mainFields

  • Тип: string[]
  • По умолчанию: ['module', 'jsnext:main', 'jsnext']

Список полей в package.json, которые следует попробовать при разрешении точки входа пакета. Обратите внимание, что это имеет более низкий приоритет, чем условные экспорты, разрешённые из поля exports: если точка входа успешно разрешена из exports, поле main будет проигнорировано. Эта настройка влияет только на неэкспортируемые зависимости.

Выпущено под лицензией MIT. (dev)