Свойство compilerOptions в Vue3
В Vue 3,compilerOptionsпредставляет собой объект, используемый для настройки компилятора шаблонов Vue.
Компилятор шаблонов отвечает за преобразование синтаксиса шаблонов Vue (например,v-bind、v-ifи т. д.) в код JavaScript. С помощьюcompilerOptionsразработчики могут управлять поведением компилятора, например тем, как обрабатывать пробельные символы, сохранять ли комментарии, включать ли определённые оптимизации, и так далее.
Распространённые конфигурации compilerOptions
1. whitespace
Назначение: управляет обработкой пробельных символов в шаблонах.
Возможные значения:
'preserve': Сохранять все пробельные символы.'condense': Сжимать лишние пробельные символы.'collapse': Удалять все ненужные пробельные символы.
Пример
compilerOptions: {
whitespace: 'condense'
}
});
2. comments
true: Сохранять комментарии.false: Удалять комментарии.
Назначение: Управляет тем, сохраняются ли комментарии в шаблонах.
Возможные значения:
Пример
compilerOptions: {
comments: false
}
});
3. delimiters
Назначение: Настраивает разделители интерполяции в шаблонах. По умолчанию Vue использует{{ }}в качестве разделителей интерполяции.
Пример
compilerOptions: {
delimiters: ['${', '}']
}
});
Результат: В шаблонах можно использовать${ expression }вместо{{ expression }}。
4. isCustomElement
Назначение: Указывает, какие теги следует рассматривать как пользовательские элементы, а не как компоненты Vue.
Пример
compilerOptions: {
isCustomElement: tag => tag.startsWith('my-')
}
});
Результат: Все тегиmy-которые начинаются с префикса, будут рассматриваться как пользовательские элементы.
Как использовать compilerOptions?
compilerOptionsОбычно при создании приложения Vue черезcreateAppвторой параметр метода для настройки. Ниже приведён полный пример:
Пример
import App from './App.vue';
const app = createApp(App, {
compilerOptions: {
whitespace: 'condense',
comments: false,
delimiters: ['${', '}'],
isCustomElement: tag => tag.startsWith('my-')
}
});
app.mount('#app');
Другие расширения
Vue3 Options API