Imaginez que vous souhaitiez inclure une bibliothèque js tierce (par exemple Three.js) dans une page Vue, via Nuxt.Nuxt: Inclure une bibliothèque tierce dans le composant Vue Page
sources locales dans la section de la tête de l'une ou nuxt.config.js
YourPage.vue
ne fonctionnent pas:
head: {
script: [
{ src: '~assets/lib/three.min.js' }
]
}
Les résultats ci-dessus juste un 404 http://yoursite/~assets/lib/three.min.js NOT FOUND
.
Dans votre composant page, vous peut spécifier une src distance:
head: {
script: [
{ src: 'https://cdnjs.cloudflare.com/ajax/libs/three.js/85/three.min.js' }
]
}
Mais il n'y a apparemment aucun moyen de contrôler async/defer
- donc il n'y a aucune garantie que votre script externe a été chargé avant que votre page ou enfant-composants essayez de l'utiliser (indice: il n'a presque certainement pas été chargé à temps).
Cela semble laisser juste la possibilité de spécifier une source distante dans la section head de votre nuxt.config.js
. Tant que cela fonctionne, la bibliothèque distante est incluse dans chaque page et téléchargée au démarrage de l'application, ce qui n'est pas recommandé.
Quelles sont les options disponibles pour charger des bibliothèques externes "par page" ou pour différer plus efficacement la charge?