La propriété modern
Build et sert un bundle moderne
Cette fonctionnalité est inspirée du mode
modern
de vue-cli .
-
Type:
String
ouBoolean
-
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 typemodule
chargera 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
moderne
dansnuxt start
lorsquemodern
n'est pas spécifié, le mode d'auto-détection est le suivant:
srr | Modern Mode |
---|---|
true | server |
false | client |
-
Le mode
moderne
pournuxt generate
ne peut être queclient
-
Il faut utiliser
render.crossorigin
pour définir l'attributcrossorigin
dans<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