La propriété modern
Build et sert un bundle moderne
Cette fonctionnalité est inspirée du mode
modernde vue-cli .
-
Type:
StringouBoolean-
Par défaut:
false -
Valeurs possibles:
-
'client': Sert les deux scripts, le bundle moderne<script type="module">et le bundle legacy<script nomodule>, fournit aussi un<link rel="modulepreload">pour le bundle moderne. Chaque navigateur qui comprend le typemodulechargera le bundle moderne pendant que les navigateurs plus anciens utiliseront le bundle legacy de secours (ce dernier sera transpilé). -
'server'outrue: Le serveur Node.js va vérifier la version du navigateur grâce au user agent et servira le bundle moderne ou de secours en fonction. -
false: désactive le build moderne.
-
-
Par défaut:
Les deux bundles possibles sont:
- Bundle moderne: vise les navigateurs modernes qui supportent les ES modules
- Bundle legacy (de secours): vise les navigateurs plus anciens en fonction de la configuration de Babel (compatible IE9 par défaut).
Info:
-
On peut utiliser la commande
[--modern | -m]=[mode]pour build/démarrer les bundles modernes:
package.json
{
"scripts": {
"build:modern": "nuxt build --modern=server",
"start:modern": "nuxt start --modern=server"
}
}
Information à propos de nuxt generate: La propriété modern marche aussi avec la commande nuxt generate, mais dans ce cas là, seulement l'option client est honorée et sera sélectionnée lors de l'exécution de la commande nuxt generate --modern sans fournir d'autres valeurs.
-
Nuxt.js va automatiquement détecter le build
modernedansnuxt startlorsquemodernn'est pas spécifié, le mode d'auto-détection est le suivant:
| srr | Modern Mode |
|---|---|
| true | server |
| false | client |
-
Le mode
modernepournuxt generatene peut être queclient -
Il faut utiliser
render.crossoriginpour définir l'attributcrossorigindans<link>et<script>.
Se réferer à l'excellent post de Phillip Walton sur les builds modernes.
Editer cette page sur GitHub
Mise à jour le Mon, July 12, 2021