Propriété app.config.compilerOptions de Vue3


Vue3 全局 APIVue3 API globale

app.config.compilerOptionsIl s'agit d'une option de configuration importante qui permet aux développeurs de contrôler finement le comportement de compilation des applications Vue.

app.config.compilerOptionsest un objet utilisé pour configurer le comportement du compilateur dans Vue 3. Il appartient à l'instance d'application Vue (app) de l'objet de configuration (config), utilisé spécifiquement pour contrôler le comportement lors de la compilation de template. En définissant ces options, les développeurs peuvent ajuster le comportement du compilateur de Vue pour répondre à des besoins spécifiques.


Options de configuration courantes

Les suivantes sontapp.config.compilerOptionsquelques options de configuration couramment utilisées dans :

1. isCustomElement

  • Objectif: Permet de spécifier quels éléments doivent être traités comme des éléments personnalisés (plutôt que comme des composants Vue).
  • Scénario d'application: Lorsque vous utilisez des éléments personnalisés tiers (tels que des Web Components) dans votre modèle, vous devez les marquer comme éléments personnalisés afin d'empêcher le compilateur Vue de les traiter comme des composants Vue inconnus.
  • Exemple:

    Exemple

    app.config.compilerOptions.isCustomElement = (tag) => tag.startsWith('my-');
    Le code ci-dessus traitera toutes les balises commençant parmy-comme des éléments personnalisés.

2. whitespace

  • Objectif: Contrôle la manière dont les caractères d'espacement dans les modèles sont gérés.
  • Valeurs facultatives:
    • 'preserve': Conserver tous les caractères d'espacement.
    • 'condense': Compresser les caractères d'espacement en un seul espace.
    • 'collapse': Supprimer tous les caractères d'espacement redondants.
  • Exemple:

    Exemple

    app.config.compilerOptions.whitespace = 'condense';
    Le code ci-dessus compressera les caractères d'espacement dans le template en un seul espace.

3. delimiters

  • Objectif: Modifier les délimiteurs des expressions d'interpolation dans les templates.
  • Valeur par défaut:['{{', '}}']
  • Scénario d'application: Lorsque vous devez éviter des conflits de syntaxe avec d'autres moteurs de template (comme Django ou Jinja2), vous pouvez modifier les délimiteurs d'interpolation.
  • Exemple:

    Exemple

    app.config.compilerOptions.delimiters = ['${', '}'];
    Le code ci-dessus changera les expressions d'interpolation de{{ }}à${ }。

4. comments

  • Objectif: Contrôle si les commentaires HTML dans les templates sont conservés.
  • Valeur par défaut:false(Ne pas conserver les commentaires)
  • Exemple:

    Exemple

    app.config.compilerOptions.comments = true;
    Le code ci-dessus conservera les commentaires HTML dans le template.

Comment utiliser app.config.compilerOptions ?

L'exemple d'utilisation complet suivant montre comment configurerapp.config.compilerOptions:

Exemple

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

const app = createApp(App);

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

app.mount('#app');

Dans le code ci-dessus :

  • Traiter toutes les balises commençant parmy-comme des éléments personnalisés.
  • Compresser les caractères d'espacement dans le modèle en un seul espace.
  • Modifier les délimiteurs des expressions d'interpolation en${ }。
  • Préserver les commentaires HTML dans le template.

Notes

  1. S'applique uniquement à la compilation des templates:app.config.compilerOptionsAffecte uniquement le comportement de compilation des templates Vue et n'affecte pas le code JavaScript.
  2. Modifier les délimiteurs avec prudence: Lors de la modification des délimiteurs des expressions d'interpolation, assurez-vous qu'il n'y a pas de conflit de syntaxe avec d'autres moteurs de template ou frameworks.
  3. Compatibilité des éléments personnalisés: Lors de l'utilisation deisCustomElementvous devez vous assurer que la définition et l'utilisation des éléments personnalisés sont compatibles avec Vue.

Vue3 全局 APIVue3 API globale

Autres extensions