Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1974 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Symfony - Webpack Encore - Best practices

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Symfony - Webpack Encore - Best practices

n°2347019
CaptainNem​o
Mobilis in Mobile
Posté le 02-03-2020 à 09:57:49  profilanswer
 

Bonjour à tous,
 
Je me remets à jour sur ce framework, et notamment sur la partie "Webpack Encore" qui permet la gestion des assets (js, css, images, etc.)
De ce que je comprends, le javascript se gère depuis un fichier "app.js", lui-même déclaré dans le fichier webpack.config.js qui contient la configuration du webpack.
 
Habituellement, j'étais plutôt du genre à séparer mes fonctionnalités FrontEnd dans des fichiers séparés, correspondant à chaque page de mon site. Bien sûr, le code redondant est présent dans un seul fichier, par exemple "globalScript.js"
 
Par exemple, pour un controler "Accueil" qui contiendrait une fonction "landscape" et une fonction "contact", j'aurai eu deux fichiers "accueil_landscape.js" et "accueil_contact.js" pour gérer ce qu'il y'a à faire spécifiquement en javascript pour chacune de ces pages.
Mais je ne vois pas comment faire ça via "webpack encore"
 
Si tout est géré dans un fichier commun comme je le vois, je ne trouve pas d'intérêt à embarquer des fonctionnalités de vérification de formulaire, utilisées dans la page "contact", et à l'inverse des fonctionnalités de graphiques ou d'animation utilisées dans la page "landscape".
 
Autant je comprends bien que "webpack encore" va compiler lui même son fichier .js, embarquant tout ce dont il a besoin en terme de librairies et de code, mais cela m'embête de trimballer un gros fichier "fourre-tout" au travers de toutes mes pages.
Le cache du navigateur va éviter le chargement du fichier, mais je suis pas convaincu qu'en terme de lisibilité et maintenabilité, le fait de travailler dans un unique fichier "app.js" soit pertinent.
 
Comment vous faites chez vous ?


---------------
All I wanna say is that they don't really care about us
mood
Publicité
Posté le 02-03-2020 à 09:57:49  profilanswer
 

n°2347027
xtieu
Posté le 02-03-2020 à 14:00:27  profilanswer
 

hello,

 

tu peux déclarer plusieurs entrées dans ton webpack.

 

Tu te retrouves avec un fichier qui ressemble à ca :

 
Code :
  1. Encore.setOutputPath('public/build/')
  2.          .setManifestKeyPrefix('build/')
  3.          .addEntry('js/app', './assets/js/app.js')
  4.          .addEntry('js/accueil/landscape', './assets/js/accueil_landscape.js')
  5.          .addEntry('js/accueil/contact', './assets/js/accueil_contact.js')
 

où app.js est ton script de base, que tu veux charger partout à mettre dans ton template base.html.twig

 

Et tu appelles les autres dans les vues spécifiques
en surchargeant ton block javascripts comme ça

 
Code :
  1. {% block javascripts %}
  2.     {{ parent() }} # va appeler le js/app
  3.     {{ encore_entry_script_tags('js/accueil/landscape') }}
  4. {% endblock %}


Message édité par xtieu le 02-03-2020 à 14:06:07

---------------
"Jean-Claude m'a Tuer" - © OS10
n°2347029
CaptainNem​o
Mobilis in Mobile
Posté le 02-03-2020 à 14:58:48  profilanswer
 

Yes, merci pour ta réponse.
Pour toi, c'est logique de vouloir séparer les scripts par module fonctionnel/page ? Ou tu vois pas d'inconvénients à tout bourrer dans app.js ?


---------------
All I wanna say is that they don't really care about us
n°2347033
xtieu
Posté le 02-03-2020 à 15:22:08  profilanswer
 

Ouep c'est logique, autant ne charger que les parties utiles à la page en cours, mine de rien ça allège un peu, et ça t'évitera d'éventuel conflits sur des events, des functions, etc ...
 
C'est pas rare que j'ai 10/15 entrées de js dans mon webpack


---------------
"Jean-Claude m'a Tuer" - © OS10

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Symfony - Webpack Encore - Best practices

 

Sujets relatifs
[Symfony] Form hidden[Symfony 3.3.6] Récupération de données
[Symfony 3.x] Formulaire dans une popup en includeSymfony 4: config Swift Mailer & SMTP...
2 Controller 1 Form sur SymfonySymfony Doctrine2 et PhpMyAdmin
PHP - Apache, best practices pour serveur multi sites[Symfony/Php] vers Application mobile
Best practices pour la gestion de sessions pour une appli web 
Plus de sujets relatifs à : Symfony - Webpack Encore - Best practices


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR