Assetgen est conçu comme un remplacement pour les différents scripts ad hoc qui, souvent, se écrites pour construire / gérer les fichiers / CSS JavaScript.
L'outil est entraîné par la configuration que vous spécifiez dans un fichier assetgen.yaml, par exemple,
La configuration de l'exemple #
générer:
- js / base.js:
& Nbsp; source:
& Nbsp; -% (AMPIFY_ROOT) s / third_party / jslibs / json.js
- Js / app.js:
& Nbsp; source:
& nbsp; - / js / statiques Models.coffee
& nbsp; - / js / statiques Views.coffee
& nbsp; - / js / statiques Maps.coffee
& Nbsp; enlaidir:
& Nbsp; - --define-de-module
& Nbsp; - consts
& Nbsp; profile.dev:
& Nbsp; enlaidir:
& Nbsp; - --define-de-module
& Nbsp; - consts-dev
- GFX / *:
& Nbsp; source: statique / gfx / *
& Nbsp; Type: binaire
- Css / site.css:
& Nbsp; source:
& Nbsp; - brut: |
& Nbsp; // Domaine Public (-) 2011 La Ampify Auteurs.
& Nbsp; // Voir le fichier UNLICENSE Ampify pour plus de détails.
& Nbsp; - statique / css / site.sass
& Nbsp; dépend:
& Nbsp; -. Statique / css / * SASS
& Nbsp; - statique / gfx / *
& Nbsp; bidi: true
& Nbsp; embed.path.root: statique
& Nbsp; embed.url.base: /.static/
prereqs:
- Statique / js / consts.js:
& Nbsp; source: statique / js / consts.coffee
& Nbsp; comprimé: false
- / Js / Const-dev.js statiques:
& Nbsp; source: statique / js / consts-dev.coffee
& Nbsp; comprimé: false
env:
& nbsp; NODE_PATH.prefix: / js statiques
output.directory: appengine / statique
output.hashed: true
output.manifest: appengine / assets.json
profile.dev:
& Nbsp; css.compressed: false
& Nbsp; js.compressed: false
Vous pouvez même contrôler les options de configuration obtient utilisé en spécifiant le paramètre --profile. Cela va remplacer les valeurs par défaut avec les valeurs spécifiées pour le profil donné. Ainsi, dans l'exemple ci-dessus, en précisant dev --profile va utiliser toutes les options de profile.dev.
Et, enfin, vous pouvez spécifier gestionnaires personnalisés pour assetgen appeler lors de la génération d'un fichier d'un type donné. Par exemple, pour remplacer le gestionnaire js builtin avec l'un qui vient inférieurs-cas tout le contenu de la source, créer votre extension, par exemple kickass-extension.py:
classe KickassAsset (Asset):
& Nbsp; générer def (auto):
& Nbsp; content = '' .join (lire (source) .lower () pour source dans self.sources)
& Nbsp; self.emit (self.path, contenu)
register_handler ('js', KickassAsset)
Ensuite, exécutez assetgen du chemin de --extension / à / paramètre kickass-extension.py spécifié.
Utilisation
Utilisation: assetgen [
Remarque:
& Nbsp; Si vous ne spécifiez pas assetgen.yaml chemins de fichiers, puis `git
& Nbsp; ls fichiers * assetgen.yaml` seront utilisés pour détecter tous les config
& Nbsp; fichiers dans le référentiel actuel. Donc, vous devez être à l'intérieur
& Nbsp; l'arbre de travail d'un dépôt git.
Options:
& Nbsp; -h, --help afficher ce message d'aide et de sortie
& Nbsp; -v, le nombre et la sortie de la version de --version programme du spectacle
& Nbsp; - retirer Nettoyer tous les fichiers générés
& Nbsp; - debug mis en mode debug
& Nbsp; - extension = PATH spécifier un fichier d'extension de python (peut être répétée)
& Nbsp; - la force de reconstruire la force de tous les fichiers
& Nbsp; - profil = NOM spécifier un profil à utiliser
& Nbsp; - regarder continuer à courir assetgen sur une boucle
Caractéristiques :
- Compilation des fichiers source CoffeeScript en JavaScript
- minifying JavaScript travers UglifyJS -. Y compris le nouveau support de pliage constante
- Compiler et minifying feuilles de style CSS dans SASS.
- Génération variantes de la même feuille de style à la fois pour l'internationalisation (Retournement de gauche à droite) et pour intégrer automatiquement les images sous forme de données:. URI pour minimiser la latence
- La concaténation de plusieurs fichiers source en un seul fichier de minimiser le nombre de requêtes HTTP.
- Création de fichiers distincts avec le hachage du contenu intégré dans le nom de fichier de manière à travailler efficacement avec les caches Web.
- Création d'un fichier manifeste JSON pour une utilisation dans les gestionnaires statiques de votre application web.
Exigences :
- Python
Commentaires non trouvées