# Настройки
# 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-compiler2.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 в каждом компоненте. В таком случае вы можете включить эту опцию.