J'essaie de faire sortir les dépendances frontend du système de contrôle de version. Une combinaison de Bower.io et Grunt devrait être capable de le faire.Comment réécrire les urls des images dans les fichiers CSS du fournisseur en utilisant Grunt
Un problème cependant se produit que je suis encore incapable de résoudre avec regrouper plusieurs bibliothèques de fournisseur. Par exemple suppose que j'ai la structure de répertoire suivant où les composants répertoire est le répertoire qui Bower.io enregistre les dépendances dans:
├── assets
└── components
├── bootstrap
│ ├── img
│ │ └── glyhs.gif
│ └── less
│ └── bootstrap.css
└── jquery-ui
├── css
│ └── style.css
└── images
├── next.gif
└── prev.gif
Supposons maintenant que je veux regrouper style.css et Bootstrap des deux jQuery » bootstrap.css. Je vais enregistrer ce fichier groupé dans assets/bundled.css. Cependant, dans ce fichier, les références aux images d'origine (../images/next.gif et ../img/glyhs.gif) sont incorrectes. Ils devront être réécrits pour fonctionner (donc ../images/next.gif => ../components/jquery-ui/images/next.gif). Je crois que (d) cette réécriture d'URL est quelque chose que Grunt devrait être capable de faire. Mais je n'arrive pas à faire fonctionner ceci en utilisant les tâches cssmin/less/copy. Par exemple, la configuration Grunt suivante (uniquement déplacer 1 fichier) ne fonctionne pas:
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
less: {
options: {
compile: false,
relativeUrls: true
},
bootstrap: {
src: 'components/bootstrap/less/bootstrap.less',
dest: 'assets/bootstrap.css'
}
}
});
grunt.loadNpmTasks('grunt-contrib-less');
grunt.registerTask('dist-css', ['less']);
};
Soit:
Ai-je mal configuré Grunt ou fait quelque chose de mal?
Ou est le flux de travail que je décris simplement pas le bon et devrais-je utiliser un autre à la place.
Merci!
Essayez celui-ci ... http://stackoverflow.com/a/24932294/1241371 Ça m'a aidé! – Leon