J'ai quelques projets qui utilisent RequireJS à charge individuelle des modules JavaScript dans le navigateur, mais je n'ai pas du tout optimisé encore. En développement et en production, l'application fait une demande distincte pour chaque fichier JavaScript, et maintenant, je tiens à corriger que l'utilisation de Grunt.
J'ai essayé de mettre sur pied un projet simple structure en vain, alors je me demandais si quelqu'un peut fournir un exemple pour moi. Mes objectifs sont les suivants:
- Le mode de développement, tout fonctionne dans le navigateur par l'émission d'une demande distincte pour chaque module. Aucun grognement de tâches ou de concaténation sont requis, le mode de développement.
- Quand je suis prêt, je peux exécuter une tâche grunt pour optimiser (combiner) tous les fichiers JavaScript à l'aide de r.js et test localement. Une fois que je suis convaincu de l'optimisation de l'application s'exécute correctement, je peux déployer.
Voici un exemple de structure pour le bien de cette conversation:
grunt-requirejs-example/
grunt.js
main.js (application entry point)
index.html (references main.js)
lib/ (stuff that main.js depends on)
a.js
b.js
requirejs/
require.js
text.js
build/ (optimized app goes here)
node_modules/ (necessary grunt tasks live here)
Plus précisément, je suis à la recherche d'un travail de projet de la structure que je peux commencer à partir. Mes principales questions sont les suivantes:
- Si cette structure de projet est imparfait, que recommandez-vous?
- Ce qui doit exactement être dans ma
grunt.js
le fichier, en particulier pour obtenir la r.js optimiseur de travail? - Si tout cela ne vaut pas le travail et il y a un moyen d'utiliser le grognement
watch
de la tâche pour construire automatiquement des tout, le mode de développement à chaque fois que j'enregistre un fichier, alors je suis tout oreilles. Je veux éviter tout ce qui ralentit la boucle de faire un changement à le voir dans le navigateur.