# Настройки
# transformAssetUrls
Тип:
{ [tag: string]: string | Array<string> }
По умолчанию:
{ video: ['src', 'poster'], source: 'src', img: 'src', image: ['xlink:href', 'href'], use: ['xlink:href', 'href'] }
Во время компиляции шаблона, компилятор может преобразовывать определённые атрибуты, такие как URL-адреса в
src
, в вызовыrequire
, чтобы указанный ресурс обрабатывался с помощью webpack. Например,<img src="./foo.png">
будет пытаться найти файл./foo.png
в вашей файловой системе и добавит его как зависимость сборки.
# compiler
Тип:
VueTemplateCompiler
По умолчанию:
require('vue-template-compiler')
Переопределение компилятора по умолчанию, используемого для компиляции секций
<template>
в однофайловых компонентах.
# compilerOptions
Тип:
Object
По умолчанию:
{}
Настройки для компилятора шаблонов. При использовании по умолчанию
vue-template-compiler
вы можете использовать эту опцию чтобы добавить пользовательские директивы компилятора, модули, или с помощью{ preserveWhitespace: false }
игнорировать пробелы между тегами.Подробнее в перечне опций
vue-template-compiler
.
# transpileOptions
Тип:
Object
По умолчанию:
{}
Опции транспиляции ES2015+ в ES5 для генерируемого кода render-функций. Транспилятор — форк Buble, поэтому полный список опций вы можете посмотреть здесь.
Компиляция render-функций шаблонов поддерживает специальную трансформацию
stripWith
(включена по умолчанию), которая удаляет использованиеwith
в сгенерированных render-функциях, чтобы сделать их совместимыми со strict-режимом.
# optimizeSSR
Тип:
boolean
По умолчанию:
true
когда конфигурация webpack имеет свойствоtarget: 'node'
и версияvue-template-compiler
2.4.0 или выше.Включает оптимизацию для серверного рендеринга в Vue 2.4, которая компилирует в простые строки часть деревьев vdom, возвращаемых render-функциями, что улучшает производительность серверного рендеринга. В некоторых случаях вам может потребоваться явно отключить оптимизацию, поскольку результирующие render-функции могут быть использованы только для серверного рендеринга и не могут использоваться для рендеринга на стороне клиента или тестирования.
# hotReload
Тип:
boolean
По умолчанию:
true
в режиме разработки,false
в режиме production или при установленной опцииtarget: 'node'
в конфигурации webpack.Разрешённые значения:
false
(true
не заставит работать горячую перезагрузку ни в режиме production, ни когдаtarget: 'node'
)Возможность webpack по горячей перезагрузке модулей позволяет применять изменения в браузере без необходимости обновления страницы. Используйте эту опцию (со значением
false
) чтобы отключить горячую перезагрузку в режиме разработки.
# productionMode
- Тип:
boolean
- По умолчанию:
process.env.NODE_ENV === 'production'
Позволяет принудительно включить режим production, который исключит из сборки код, необходимый только на этапе разработки (например, горячую перезагрузку модулей).
# shadowMode
- Тип:
boolean
- По умолчанию:
false
Компилирует компонент для использования внутри Shadow DOM. В этом режиме стили компонента внедряются в this.$root.$options.shadowRoot
вместо head-тега документа.
# cacheDirectory / cacheIdentifier
- Тип:
string
- По умолчанию:
undefined
Когда указаны оба параметра, включает кэширование в файловой системе скомпилированных шаблонов (требуется, чтобы cache-loader
был установлен в том же проекте).
СОВЕТ
Взаимодействие между vue-loader
и cache-loader
использует инлайновый синтаксис импорта загрузчиков внутри, где символ !
будет рассматриваться как разделитель между различными загрузчиками. Поэтому убедитесь, что cacheDirectory
не содержит символов !
.
# prettify
- Тип:
boolean
- По умолчанию:
true
В режиме разработки по умолчанию используется prettier для форматирования скомпилированной render-функции для удобства отладки. Однако, если вы столкнётесь с какой-либо непонятной ошибкой самого prettier, такой как экспоненциальное время компиляции для глубоко вложенных функций, можно отключить эту опцию.
# exposeFilename
- Тип:
boolean
- По умолчанию:
false
В не-production окружениях vue-loader внедряет свойство __file
в компоненты для улучшения отладки. Если свойство name
отсутствует в компоненте, Vue будет использовать значение из __file
для отображения предупреждений в консоли.
Это свойство удаляется из сборки для production по умолчанию. Но вы можете сохранить его, если вы разрабатываете библиотеку компонентов и не хотите указывать name
в каждом компоненте. В таком случае вы можете включить эту опцию.