Je me demande quelle est la meilleure façon de réduire et de concaténer tous mes scripts js en un dans un processus de construction. J'ai le travail de minification réelle, mais maintenant besoin de définir une référence dans ma page html au fichier minifié. Dans la version dev, il contient des références à cinq fichiers concaténés. Devrais-je justifier xmlpoke ou quelque chose comme ça? Y a-t-il des techniques plus élégantes?Intégration de js dans le processus de construction
Répondre
la façon dont je fais usally il est concat tous les fichiers ensemble, en utilisant rapetisser Yui:
<target name="compress-js" unless="disable.js.compression">
<java fork="true" spawn="true" jar="tools/yuicompressor-2.3.6/yuicompressor-2.3.6.jar">
<arg value="-o" />
<arg value="${js.home}/lib/lib.js" />
<arg value="${js.home}/lib/lib.js" />
</java>
</target>
et alors juste un en-tête qui référence le fichier compressé, et utilisé dans disable.js.compression dev si que vos fichiers ne soient pas compressés.
Dans votre fichier qui contient les fichiers de script, faire (à l'aide qui jamais technologie côté serveur que vous utilisez)
<%
if (@[email protected]){
%>
<script src="file1"></script>
...
<script src="file5"></script>
<%
} else {
%>
<script src="@[email protected]"></script>
<%
}
%>
Utilisez ensuite la cible de fourmi « remplacer » dans votre fichier de construction (en supposant que vous utilisez ant) pour remplacer @ IS_DEV @ et @ MINIFIED_FILE_PATH @
<replace file="yourfile.jsp" token="@[email protected]" value="${IS_DEV}"/>
<replace file="yourfile.jsp" token="@[email protected]" value="${YOUR_MINIFIED_FILE_PATH}"/>
Vous pouvez utiliser Buildr
Créez un fichier package.json
dans votre projet de répertoire racine, font ressembler à quelque chose comme ceci:
{
"name": "My Project Name",
"buildr": {
"compress": {
"js": true,
"css": true,
"img": false
},
"bundle": {
"js": true,
"css": true
},
"directories": {
"out": "./scripts/compressed",
"src": "./scripts/uncompressed"
},
"files": {
"js": true,
"css": true,
"img": false
}
}
}
Ensuite, exécutez:
buildr
La volonté ci-dessus compresser et regrouper tous les fichiers css et js dans le répertoire ./scripts/uncompressed
dans le répertoire/scripts/compressed`. annuaire.
Mise à jour: Correction de l'URL pour Buildr sur GitHub.
- 1. Intégration de sources externes dans une construction
- 2. combinaison de plusieurs fichiers .js en un dans un processus de construction
- 3. Signature de code dans le cadre du processus de construction
- 4. quelles sont les phases dans le processus de construction
- 5. Intégration de HWND dans un processus externe en utilisant SetParent
- 6. Gestion de version BizTalk automatique dans mon processus de construction
- 7. Comment pouvons-nous afficher une "étape" dans le processus de construction de Visual Studio?
- 8. chemin JS dans le contrôle de l'utilisateur
- 9. paramètres de construction Confirmer de l'appareil et est-il un moyen d'automatiser le processus
- 10. Intégration de WebView dans UIView
- 11. Intégration de projet dans Grails
- 12. Intégration de PowerShell dans SharePoint
- 13. Intégration de restrictions de shareware dans le logiciel C++
- 14. Construction de projets Flexbuilder dans ant
- 15. Mise à jour des références javascript après la réduction pendant le processus de construction
- 16. Spring Intégration de la sécurité dans le répertoire actif
- 17. Intégration de Windows Python dans le programme C++ Cygwin/GCC
- 18. Intégration de PDF à partir du serveur dans le navigateur
- 19. intégration Smarty dans le cadre CodeIgniter
- 20. Comment quitter le rapport Ndepend dans le rapport de construction?
- 21. annuler l'opération de construction
- 22. Intégration de contrôle de source Web d'expression?
- 23. Intégration de bureau (Word) - interception de sauvegarde
- 24. Intégration de Glassfish IDE
- 25. Automatisation du processus de construction d'une application Web créée dans Eclipse
- 26. Définition de debug = false dans web.config dans le cadre de la construction
- 27. Intégration de Mylyn & Redmine
- 28. problème de construction dans xcode
- 29. Intégration programmée de Kanji dans Textfield
- 30. Intégration de fichiers texte dans des applications?
Quel environnement utilisez-vous? Les pignons aident avec ceci (http://getsprockets.org/). – Tom