Skip to content

Commit 6ee3543

Browse files
committed
Update guide/features.md
Closes #76 Closes #77
1 parent f042d98 commit 6ee3543

File tree

2 files changed

+70
-2
lines changed

2 files changed

+70
-2
lines changed

docs/guide/features.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ HTML-файлы занимают [центральное место](/guide/#ind
212212
- Поддержка Vue через [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue)
213213
- Поддержка Vue JSX через [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx)
214214
- Поддержка React через [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react)
215-
- Поддержка React с использованием SWC через [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc)
215+
- Поддержка React с использованием SWC через [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-swc)
216216

217217
Посмотрите [Руководство по плагинам](../plugins/) для получения дополнительной информации.
218218

@@ -580,6 +580,32 @@ const modules = import.meta.glob('./dir/*.js', {
580580
})
581581
```
582582

583+
#### Базовый путь {#base-path}
584+
585+
Вы также можете использовать опцию `base` для указания базового пути для импортов:
586+
587+
```ts twoslash
588+
import 'vite/client'
589+
// ---cut---
590+
const modulesWithBase = import.meta.glob('./**/*.js', {
591+
base: './base',
592+
})
593+
```
594+
595+
```ts
596+
// код, созданный Vite:
597+
const modulesWithBase = {
598+
'./dir/foo.js': () => import('./base/dir/foo.js'),
599+
'./dir/bar.js': () => import('./base/dir/bar.js'),
600+
}
601+
```
602+
603+
Опция `base` может быть только путём к директории, относительным к файлу-импортёру или абсолютным относительно корня проекта. Псевдонимы и виртуальные модули не поддерживаются.
604+
605+
Только шаблоны, которые являются относительными путями, интерпретируются как относительные к разрешённому базовому пути.
606+
607+
Все результирующие ключи модулей модифицируются, чтобы быть относительными к базовому пути, если он указан.
608+
583609
### Предостережения по поводу глобального импорта {#glob-import-caveats}
584610

585611
Обратите внимание, что:

docs/guide/rolldown.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,43 @@ Rolldown выбрасывает ошибку при передаче неизв
9999
100100
Если вы не передаёте эту опцию самостоятельно, проблема должна быть исправлена в используемом фреймворке. Временно можно отключить эту ошибку, установив переменную окружения `ROLLDOWN_OPTIONS_VALIDATION=loose`.
101101

102-
## Производительность
102+
### Различия в API {#api-differences}
103+
104+
#### От `manualChunks` к `advancedChunks` {#manualchunks-to-advancedchunks}
105+
106+
Rolldown не поддерживает опцию `manualChunks`, которая была доступна в Rollup. Вместо этого он предлагает более детализированную настройку через опцию [`advancedChunks`](https://rolldown.rs/guide/in-depth/advanced-chunks#advanced-chunks), которая ближе к `splitChunk` в webpack:
107+
108+
```js
109+
// Устаревшая конфигурация (Rollup)
110+
export default {
111+
build: {
112+
rollupOptions: {
113+
output: {
114+
manualChunks(id) {
115+
if (/\/react(?:-dom)?/.test(id)) {
116+
return 'vendor'
117+
}
118+
}
119+
}
120+
}
121+
}
122+
}
123+
124+
// Обновлённая конфигурация (Rolldown)
125+
export default {
126+
build: {
127+
rollupOptions: {
128+
output: {
129+
advancedChunks: {
130+
groups: [{ name: 'vendor', test: /\/react(?:-dom)?// }]
131+
}
132+
}
133+
}
134+
}
135+
}
136+
```
137+
138+
## Производительность {#performance}
103139

104140
`rolldown-vite` ориентирован на обеспечение совместимости с существующей экосистемой, поэтому настройки по умолчанию направлены на максимально плавный переход. Дополнительный прирост производительности можно получить, перейдя на более быстрые внутренние плагины на базе Rust и применив другие кастомизации.
105141

@@ -109,6 +145,12 @@ Rolldown выбрасывает ошибку при передаче неизв
109145

110146
Для тестирования можно активировать их, установив опцию `experimental.enableNativePlugin` в `true` в конфигурации Vite.
111147

148+
### `@vitejs/plugin-react-oxc`
149+
150+
При использовании `@vitejs/plugin-react` или `@vitejs/plugin-react-swc` вы можете перейти на плагин `@vitejs/plugin-react-oxc`, который использует Oxc для быстрого обновления React вместо Babel или SWC. Он разработан как прямая замена, обеспечивая лучшую производительность сборки и соответствие базовой архитектуре `rolldown-vite`.
151+
152+
Обратите внимание, что переход на `@vitejs/plugin-react-oxc` возможен только в том случае, если вы не используете плагины Babel или SWC (включая компилятор React) и не изменяете настройки SWC.
153+
112154
### Обёртка `withFilter` {#withfilter-wrapper}
113155

114156
Авторы плагинов могут использовать [возможность фильтрации хуков](#hook-filter-feature), чтобы снизить издержки на взаимодействие между средами выполнения Rust и JavaScript.

0 commit comments

Comments
 (0)