Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 5ab14fe

Browse files
committed
Translate Guide/Assets
1 parent 0ef3259 commit 5ab14fe

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

fr/guide/assets.md

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: Assets
3+
description: Nuxt utilise vue-loader, file-loader et url-loader avec Webpack par défaut pour un servir les fichiers statiques, mais vous pouvez également utiliser le répertoire "Static" pour les fichiers statiques.
4+
---
5+
6+
> Nuxt utilise vue-loader, file-loader et url-loader avec Webpack par défaut pour un servir les fichiers statiques, mais vous pouvez également utiliser le répertoire "Static" pour les fichiers statiques.
7+
8+
## Avec Webpack
9+
10+
Par défaut, [vue-loader](http://vue-loader.vuejs.org/en/) traite automatiquement vos fichiers de style et vos templates à l'aide de `css-loader` et du compilatuer de template de Vue. Dans ce processus de compilation, toutes les URLs des fichiers comme `<img src="...">`, `background: url(...)` et le CSS `@import` sont résolues en tant que dépendances des modules.
11+
12+
Par exemple, avec cette arborescence:
13+
14+
```bash
15+
-| assets/
16+
----| image.png
17+
-| pages/
18+
----| index.vue
19+
```
20+
21+
Dans notre CSS, si nous utilisons `url('~assets/image.png')`, ce sera transformé en `require('~assets/image.png')`.
22+
23+
Ou si dans `pages/index.vue` nous utilisons:
24+
```html
25+
<template>
26+
<img src="~assets/image.png">
27+
</template>
28+
```
29+
30+
Ce sera compilé en:
31+
32+
```js
33+
createElement('img', { attrs: { src: require('~assets/image.png') }})
34+
```
35+
36+
Puisque que les fichiers `.png` ne sont pas des fichiers JavaScript, nuxt.js configure Webpack afin d'utiliser [file-loader](https://github.com/webpack/file-loader) et [url-loader](https://github.com/webpack/url-loader) afin de pouvoir s'en charger.
37+
38+
Leurs avantages sont:
39+
- `file-loader` vous laisse définir ou copier les assets, comment les nommer et vous permets d'utiliser des hash de version pour un meilleur cache.
40+
- `url-loader` vous permet d'insérer de façon conditionnelle un fichier en tant qu'URL encodée en base 64 si sa taille est inférieure à un seuil donné. Cela peut réduire un certain nombre de demandes HTTP pour les fichiers triviaux. Si la taille du fichier est supérieur au seuil, il retombe automatiquement sur `file-loader`.
41+
42+
Actuellement, la configuration des loaders par défaut de Nuxt.js est la suivante:
43+
44+
```js
45+
[
46+
{
47+
test: /\.(png|jpe?g|gif|svg)$/,
48+
loader: 'url-loader',
49+
query: {
50+
limit: 1000, // 1KO
51+
name: 'img/[name].[hash:7].[ext]'
52+
}
53+
},
54+
{
55+
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
56+
loader: 'url-loader',
57+
query: {
58+
limit: 1000, // 1KO
59+
name: 'fonts/[name].[hash:7].[ext]'
60+
}
61+
}
62+
]
63+
```
64+
65+
Ce qui signifie que tous les fichiers inférieurs à 1KO seront intégrés comme URL base-64. Sinon, l'image/police sera copiée dans son dossier correspondant (dans le répertoire `.nuxt`) avec un nom contenant des hach de version pour une meilleure mise en cache.
66+
67+
Lors du lancement de notre application avec `nuxt`, notre modèle dans` pages/index.vue`:
68+
69+
```html
70+
<template>
71+
<img src="~assets/image.png">
72+
</template>
73+
```
74+
75+
Sera transformé en:
76+
```html
77+
<img src="/_nuxt/img/image.0c61159.png">
78+
```
79+
80+
Si vous désirez modifier ou désactiver ces loaders, regarder la [documentation sur les loaders](/api/configuration-build#loaders).
81+
82+
## Static
83+
84+
Si vous ne souhaitez pas utiliser les assets à l'aide de Webpack à partir du répertoire `assets`, vous pouvez créer et utiliser le répertoire` static` dans le répertoire racine du projet.
85+
86+
Ces fichiers seront automatiquement servis par Nuxt et accessibles via l'URL racine du projet.
87+
88+
Cette option est utile pour les fichiers tels que `robots.txt`,` sitemap.xml` ou `CNAME` (pour GitHub Pages et autres).
89+
90+
À partir de votre code, vous pouvez ensuite référencer ces fichiers avec de URLs commencant par `/`:
91+
92+
```html
93+
<!-- Static image from static directory -->
94+
<img src="/my-image.png"/>
95+
96+
<!-- Webpacked image from assets directory -->
97+
<img src="/assets/my-image-2.png"/>
98+
```

0 commit comments

Comments
 (0)