You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/7/fr/part7d.md
+106Lines changed: 106 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -148,6 +148,112 @@ Le fichier contient beaucoup de choses qui semblent assez intéressantes. Nous p
148
148
eval("const hello = name => {\n console.log(`hello ${name}`)\n}\n\n//# sourceURL=webpack://webpack-osa7/./src/index.js?");
149
149
```
150
150
151
+
Ajoutons un fichier <i>App.js</i> sous le répertoire <i>src</i> avec le contenu suivant:
152
+
153
+
```js
154
+
constApp= () => {
155
+
returnnull
156
+
}
157
+
158
+
exportdefaultApp
159
+
```
160
+
161
+
Importons et utilisons le module <i>App</i> dans le fichier <i>index.js</i>:
162
+
163
+
```js
164
+
importAppfrom'./App';
165
+
166
+
consthello=name=> {
167
+
console.log(`hello ${name}`)
168
+
}
169
+
170
+
App()
171
+
```
172
+
173
+
Lorsque nous empaquetons à nouveau l'application avec la commande _npm run build_, nous remarquons que webpack a pris en compte les deux fichiers:
174
+
175
+

176
+
177
+
Notre code d'application peut être trouvé à la fin du fichier bundle dans un format plutôt obscur:
178
+
179
+

180
+
181
+
### Fichier de configuration
182
+
183
+
Examinons de plus près le contenu de notre fichier <i>webpack.config.js</i> actuel:
184
+
185
+
```js
186
+
constpath=require('path')
187
+
188
+
constconfig= () => {
189
+
return {
190
+
entry:'./src/index.js',
191
+
output: {
192
+
path:path.resolve(__dirname, 'build'),
193
+
filename:'main.js'
194
+
}
195
+
}
196
+
}
197
+
198
+
module.exports= config
199
+
```
200
+
201
+
Le fichier de configuration a été écrit en JavaScript et la fonction retournant l'objet de configuration est exportée en utilisant la syntaxe de module de Node.
202
+
203
+
Notre définition de configuration minimale s'explique presque d'elle-même. La propriété [entry](https://webpack.js.org/concepts/#entry) de l'objet de configuration spécifie le fichier qui servira de point d'entrée pour l'empaquetage de l'application.
204
+
205
+
La propriété [output](https://webpack.js.org/concepts/#output) définit l'emplacement où le code empaqueté sera stocké. Le répertoire cible doit être défini comme un <i>chemin absolu</i>, ce qui est facile à créer avec la méthode [path.resolve](https://nodejs.org/docs/latest-v8.x/api/path.html#path_path_resolve_paths). Nous utilisons aussi [\_\_dirname](https://nodejs.org/docs/latest/api/globals.html#globals_dirname) qui est une variable dans Node qui stocke le chemin vers le répertoire courant.
206
+
207
+
### Empaquetage de React
208
+
209
+
Ensuite, transformons notre application en une application React minimale. Installons les bibliothèques requises:
210
+
211
+
```bash
212
+
npm install react react-dom
213
+
```
214
+
215
+
Et transformons notre application en une application React en ajoutant les définitions familières dans le fichier <i>index.js</i>:
Nous apporterons également les modifications suivantes au fichier <i>App.js</i>:
226
+
227
+
```js
228
+
importReactfrom'react'// we need this now also in component files
229
+
230
+
constApp= () => {
231
+
return (
232
+
<div>
233
+
hello webpack
234
+
</div>
235
+
)
236
+
}
237
+
238
+
exportdefaultApp
239
+
```
240
+
241
+
Nous avons encore besoin du fichier <i>build/index.html</i> qui servira de "page principale" de notre application et qui chargera notre code JavaScript empaqueté avec une balise <i>script</i>:
0 commit comments