Vue3 app.config.compilerOptions propiedad


Vue3 全局 APIVue3 API global

app.config.compilerOptionsEs una opción de configuración importante que permite a los desarrolladores controlar de forma granular el comportamiento de compilación de la aplicación Vue.

app.config.compilerOptionsEs el objeto utilizado para configurar el comportamiento del compilador en Vue 3. Pertenece a la instancia de la aplicación Vue (app) del objeto de configuración (config), y se utiliza específicamente para controlar el comportamiento durante la compilación de plantillas.


Opciones de configuración comunes

A continuación se presentanapp.config.compilerOptionsalgunas opciones de configuración de uso común:

1. isCustomElement

  • Función: se utiliza para especificar qué elementos deben tratarse como elementos personalizados (no como componentes de Vue).
  • Escenarios de aplicación: cuando utilices elementos personalizados de terceros (como Web Components) en la plantilla, debes marcarlos como elementos personalizados para evitar que el compilador de Vue los considere desconocidos componentes de Vue.
  • Ejemplo:

    Ejemplo

    app.config.compilerOptions.isCustomElement = (tag) => tag.startsWith('my-');
    El código anterior tratará todas las etiquetas que comiencen conmy-como elementos personalizados.

2. whitespace

  • Función: controla el manejo de los caracteres de espacio en blanco en la plantilla.
  • Valores opcionales:
    • 'preserve': conserva todos los caracteres de espacio en blanco.
    • 'condense': comprime los caracteres de espacio en blanco a un solo espacio.
    • 'collapse': elimina todos los caracteres de espacio en blanco innecesarios.
  • Ejemplo:

    Ejemplo

    app.config.compilerOptions.whitespace = 'condense';
    El código anterior comprimirá los caracteres de espacio en blanco de la plantilla a un solo espacio.

3. delimiters

  • Función: modifica los delimitadores de las expresiones de interpolación en la plantilla.
  • Valor predeterminado:['{{', '}}']
  • Escenarios de aplicación: cuando necesites evitar conflictos de sintaxis con otros motores de plantillas (como Django o Jinja2), puedes modificar los delimitadores de interpolación.
  • Ejemplo:

    Ejemplo

    app.config.compilerOptions.delimiters = ['${', '}'];
    El código anterior cambiará las expresiones de interpolación de{{ }}a${ }。

4. comments

  • Función: controla si se conservan los comentarios HTML en la plantilla.
  • Valor predeterminado:false(no se conservan los comentarios)
  • Ejemplo:

    Ejemplo

    app.config.compilerOptions.comments = true;
    El código anterior conservará los comentarios HTML en la plantilla.

¿Cómo usar app.config.compilerOptions?

A continuación se muestra un ejemplo de uso completo que demuestra cómo configurarapp.config.compilerOptions:

Ejemplo

import { createApp } from 'vue';
import App from './App.vue';

const app = createApp(App);

// Configurar compilerOptions
app.config.compilerOptions = {
  isCustomElement: (tag) => tag.startsWith('my-'),
  whitespace: 'condense',
  delimiters: ['${', '}'],
  comments: true,
};

app.mount('#app');

En el código anterior:

  • Marca todas las etiquetas que comiencen conmy-como elementos personalizados.
  • Comprime los caracteres de espacio en blanco de la plantilla a un solo espacio.
  • Modifica los delimitadores de las expresiones de interpolación a${ }。
  • Conserva los comentarios HTML en la plantilla.

Precauciones

  1. Solo aplicable a la compilación de plantillas:app.config.compilerOptionsSolo afecta el comportamiento de compilación de las plantillas de Vue, no afecta al código JavaScript.
  2. Modifica los delimitadores con precaución: al modificar los delimitadores de las expresiones de interpolación, asegúrate de que no entren en conflicto con la sintaxis de otros motores de plantillas o frameworks.
  3. Compatibilidad de los elementos personalizados: al usarisCustomElementes necesario asegurarse de que la definición y el uso de los elementos personalizados sean compatibles con Vue.

Vue3 全局 APIVue3 API global

Otras extensiones