You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ru/config/README.md
+46-18
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ sidebar: auto
20
20
21
21
Файл должен экспортировать объект с настройками:
22
22
23
-
```js
23
+
```js
24
24
// vue.config.js
25
25
module.exports= {
26
26
// настройки...
@@ -52,7 +52,7 @@ module.exports = {
52
52
53
53
Опция может быть полезна и на этапе разработки. Если вы хотите запускать сервер разработки из корня сайта, то можно устанавливать значение по условию:
54
54
55
-
```js
55
+
```js
56
56
module.exports= {
57
57
publicPath:process.env.NODE_ENV==='production'
58
58
?'/production-sub-path/'
@@ -106,7 +106,7 @@ module.exports = {
106
106
- объектом, который определяет свои `entry`, `template`, `filename`, `title` и `chunks` (все опциональные, за исключением `entry`). Любые другие свойства, указанные рядом с ними будут переданы непосредственно в `html-webpack-plugin`, для возможности более тонкой настройки этого плагина;
107
107
- или строкой, определяющей свою `entry`.
108
108
109
-
```js
109
+
```js
110
110
module.exports= {
111
111
pages: {
112
112
index: {
@@ -120,7 +120,7 @@ module.exports = {
120
120
// должен быть <title><%= htmlWebpackPlugin.options.title %></title>
121
121
title:'Index Page',
122
122
// все фрагменты, добавляемые на этой странице, по умолчанию
123
-
// это извлеченные общий фрагмент и вендорный фрагмент.
123
+
// это извлечённые общий фрагмент и вендорный фрагмент.
Выполнять ли линтинг кода при сохранении во время разработки с помощью [eslint-loader](https://github.com/webpack-contrib/eslint-loader). Эта опция действует только когда установлен плагин [`@vue/cli-plugin-eslint`](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint).
145
145
146
-
Когда значение `true`, `eslint-loader` показывает ошибки линтинга как предупреждения. По умолчанию предупреждения выводятся в терминал и не останавливают сборку ошибкой.
146
+
Когда значение `true` или `'warning'`, `eslint-loader` показывает ошибки линтинга как предупреждения. По умолчанию предупреждения выводятся в терминал и не останавливают сборку ошибкой, поэтому это хорошее значение по умолчанию для разработки.
147
147
148
-
Чтобы ошибки линтинга отображались в браузере, можно указать `lintOnSave: 'error'`. Тогда `eslint-loader`будет всегда генерировать ошибки. Это также означает, что ошибки линтинга будут останавливать сборку ошибкой.
148
+
Для отображения ошибок линтинга в браузере можно указать `lintOnSave: 'default'`. Это заставит `eslint-loader` генерировать ошибки и любые ошибки линтинга приведут к неудаче компиляции сборки.
149
149
150
-
Кроме того, вы можете настроить отображение в браузере предупреждений и ошибок:
150
+
Установка значения в `'errors'` заставит `eslint-loader` считать все предупреждения ошибками, а значит и они будут отображены в браузере.
151
151
152
-
```js
152
+
Кроме того, можно настроить отображение в браузере предупреждений и ошибок:
153
+
154
+
```js
153
155
// vue.config.js
154
156
module.exports= {
155
157
devServer: {
@@ -163,7 +165,7 @@ module.exports = {
163
165
164
166
Когда значение `lintOnSave` приводится к `true`, `eslint-loader` будет применяться как в разработке, так и в production. Если вы хотите отключить `eslint-loader` при сборке в production, можете воспользоваться следующей конфигурацией:
165
167
166
-
```js
168
+
```js
167
169
// vue.config.js
168
170
module.exports= {
169
171
lintOnSave:process.env.NODE_ENV!=='production'
@@ -186,6 +188,14 @@ module.exports = {
186
188
187
189
По умолчанию `babel-loader` игнорирует все файлы из `node_modules`. Если вы хотите явно транспилировать зависимость с помощью Babel, то вы можете перечислить её в этой опции.
188
190
191
+
::: warning Конфигурация Jest
192
+
Эта опция не поддерживается [плагином cli-unit-jest](#jest), потому что в Jest мы не должны транспилировать код из `node_modules`, если в нём не используются нестандартные возможности — Node >8.11 уже поддерживает последние нововведения ECMAScript.
193
+
194
+
Однако, Jest иногда требуется преобразовывать содержимое из `node_modules`, например если в этом коде используется синтаксис ES6 `import`/`export`. В таком случае используйте опцию `transformIgnorePatterns` в файле `jest.config.js`.
195
+
196
+
См. [README плагина](../core-plugins/unit-jest.md) для получения дополнительной информации.
197
+
:::
198
+
189
199
### productionSourceMap
190
200
191
201
- Тип: `boolean`
@@ -235,10 +245,20 @@ module.exports = {
235
245
236
246
### css.modules
237
247
248
+
Устаревшая опция, начиная с версии v4, используйте вместо неё [`css.requireModuleExtension`](#css-requireModuleExtension).
249
+
250
+
В версии v3 это противоположность опции `css.requireModuleExtension`.
251
+
252
+
### css.requireModuleExtension
253
+
238
254
- Тип: `boolean`
239
-
- По умолчанию: `false`
255
+
- По умолчанию: `true`
256
+
257
+
По умолчанию, только файлы заканчивающиеся на `*.module.[ext]` обрабатываются как CSS-модули. Установка в значение `false` позволит вам убрать `.module` из имён файлов и обрабатывать все `*.(css|scss|sass|less|styl(us)?)` файлы как CSS-модули.
240
258
241
-
По умолчанию, только файлы заканчивающиеся на `*.module.[ext]` обрабатываются как CSS-модули. Установка в значение `true` позволит вам убрать `.module` из имён файлов и обрабатывать все `*.(css|scss|sass|less|styl(us)?)` файлы как CSS-модули.
259
+
::: tip СОВЕТ
260
+
Если в `css.loaderOptions.css` есть настроенные конфигурации CSS-модулей, то поле `css.requireModuleExtension` должно быть явно указано в `true` или `false`, иначе нельзя быть уверенным необходимо ли применять эти параметры ко всем CSS-файлам или нет.
261
+
:::
242
262
243
263
См. также: [Работа с CSS — CSS-модули](../guide/css.md#css-модуnи)
244
264
@@ -255,6 +275,8 @@ module.exports = {
255
275
256
276
Извлечение CSS отключено по умолчанию в режиме `development`, поскольку оно несовместимо с горячей перезагрузкой CSS. Тем не менее, вы всё равно можете принудительно использовать извлечение стилей всегда, установив значение в `true`.
257
277
278
+
Вместо `true` также можно передать объект с настройками для [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) если необходимо детальнее настроить работу этого плагина.
279
+
258
280
### css.sourceMap
259
281
260
282
- Тип: `boolean`
@@ -269,7 +291,7 @@ module.exports = {
269
291
270
292
Передача настроек в загрузчики относящиеся к CSS. Например:
Также можно настроить синтаксис `scss` отдельно от `sass` через опцию `scss`.
318
+
295
319
См. также: [Передача настроек в загрузчики пре-процессоров](../guide/css.md#передача-настроек-в-загрузчики-пре-процессоров)
296
320
297
321
::: tip Совет
@@ -316,7 +340,7 @@ module.exports = {
316
340
317
341
`devServer.proxy` может быть строкой, указывающей на сервер API для разработки:
318
342
319
-
```js
343
+
```js
320
344
module.exports= {
321
345
devServer: {
322
346
proxy:'http://localhost:4000'
@@ -326,9 +350,13 @@ module.exports = {
326
350
327
351
Это скажет серверу разработки проксировать любые неизвестные запросы (запросы, которые не соответствуют статическому файлу) на адрес `http://localhost:4000`.
328
352
353
+
::: warning ПРЕДУПРЕЖДЕНИЕ
354
+
При указании `devServer.proxy` строкой будут проксироваться только XHR-запросы. Если необходимо протестировать API URL, не открывайте его в браузере, а вместо этого используйте инструмент для работы с API (например, Postman).
355
+
:::
356
+
329
357
Если вам нужно больше контроля поведения прокси-сервера, вы также можете использовать объект с парами опций `path: options`. См. полный список опций [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware#proxycontext-config):
330
358
331
-
```js
359
+
```js
332
360
module.exports= {
333
361
devServer: {
334
362
proxy: {
@@ -347,10 +375,10 @@ module.exports = {
347
375
348
376
### parallel
349
377
350
-
- Тип: `boolean`
378
+
- Тип: `boolean | number`
351
379
- По умолчанию: `require('os').cpus().length > 1`
352
380
353
-
Использовать ли `thread-loader` для транспиляции Babel или TypeScript. Включается для production-сборок, когда система имеет более 1 процессорных ядер.
381
+
Использовать ли `thread-loader` для транспиляции Babel или TypeScript. Включается для production-сборок, когда система имеет более 1 процессорных ядер. Указание числа определит количество задействованных воркеров (workers).
354
382
355
383
### pwa
356
384
@@ -364,7 +392,7 @@ module.exports = {
364
392
365
393
Этот объект не проходит никакой валидации своей структуры, поэтому можно его использовать для передачи произвольных параметров сторонним плагинам. Например:
Vue CLI использует архитектуру на основе плагинов. Если изучить `package.json` в только что созданном проекте, можно обнаружить зависимости, которые начинаются с `@vue/cli-plugin-`. Плагины могут модифицировать внутреннюю конфигурацию webpack и внедрять команды в `vue-cli-service`. Большинство возможностей, перечисленных в процессе создания проекта, реализованы в виде плагинов.
4
+
5
+
Этот раздел содержит документацию для основных плагинов Vue CLI:
По умолчанию используется Babel 7 + `babel-loader` + [@vue/babel-preset-app](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/babel-preset-app), но есть возможность конфигурации через `babel.config.js` для использования любых других пресетов Babel или плагинов.
8
+
9
+
По умолчанию `babel-loader` исключает файлы внутри зависимостей из `node_modules`. Если вы хотите явно транспилировать модуль какой-то зависимости, необходимо указать его в опции `transpileDependencies` в файле `vue.config.js`:
10
+
11
+
```js
12
+
module.exports= {
13
+
transpileDependencies: [
14
+
// может быть строкой или regex
15
+
'my-dep',
16
+
/other-dep/
17
+
]
18
+
}
19
+
```
20
+
21
+
## Кэширование
22
+
23
+
[cache-loader](https://github.com/webpack-contrib/cache-loader) используется по умолчанию, кэш хранится в `<projectRoot>/node_modules/.cache/babel-loader`.
24
+
25
+
## Параллелизация
26
+
27
+
[thread-loader](https://github.com/webpack-contrib/thread-loader) используется по умолчанию, если машина имеет более 1 ядра CPU. Это можно отключить указав `parallel: false` в файле `vue.config.js`.
0 commit comments