Параметры SSR
Unless noted, the options in this section are applied to both dev and build.
ssr.external
- Тип:
string[] | true
- Связанный: SSR Externals
Вывести заданные зависимости и их транзитивные зависимости для SSR. По умолчанию все зависимости выводятся наружу, за исключением связанных зависимостей (для HMR). Если вы предпочитаете вывести связанную зависимость наружу, вы можете передать ее имя этой опции.
Если true
, все зависимости, включая связанные зависимости, выводятся наружу.
Обратите внимание, что явно перечисленные зависимости (с использованием типа string[]
) всегда будут иметь приоритет, если они также перечислены в ssr.noExternal
(с использованием любого типа).
ssr.noExternal
- Тип:
string | RegExp | (string | RegExp)[] | true
- Связанный: SSR Externals
Предотвратить экстернализацию перечисленных зависимостей для 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
) forssr.target === 'webworker'
) - Связанный: Условия разрешения
Эти условия используются в конвейере плагинов и влияют только на неэкстернализированные зависимости во время сборки SSR. Используйте ssr.resolve.externalConditions
, чтобы повлиять на экстернализированные импорты.
ssr.resolve.externalConditions
- Тип:
string[]
- По умолчанию:
['node']
Условия, которые используются во время импорта ssr (включая ssrLoadModule
) внешних прямых зависимостей (внешних зависимостей, импортированных Vite).
TIP
При использовании этой опции обязательно запустите Node с флагом --conditions
flag с одинаковыми значениями в dev и build, чтобы получить единообразное поведение.
Например, при установке ['node', 'custom']
следует запустить NODE_OPTIONS='--conditions custom' vite
в dev и NODE_OPTIONS="--conditions custom" node ./dist/server.js
после build.
ssr.resolve.mainFields
- Тип:
string[]
- По умолчанию:
['module', 'jsnext:main', 'jsnext']
Список полей в package.json
для проверки при разрешении точки входа пакета. Обратите внимание, что это имеет меньший приоритет, чем условные экспорты, разрешенные из поля exports
: если точка входа успешно разрешена из exports
, основное поле будет проигнорировано. Эта настройка влияет только на неэкстернализированные зависимости.