2010-06-25 8 views
4

Après je watched this NetTUTs video, je suis très intéressé à essayer la méthode LESS.js montré. En dehors de l'évidence, "Que se passe-t-il si l'utilisateur n'a pas javascript activé?" Ou "Il va y avoir un petit succès sur les performances" ... existe-t-il une raison pour laquelle cela ne peut pas être utilisé en production?Recommanderiez-vous contre JavaScript basé sur MOINS?

MOINS ressemble essentiellement comme ce que CSS devrait être ...

+2

Personnellement, je fais ce genre de choses au moment de la construction, car il est vraiment pas difficile . – Pointy

+0

@Pointy - Avez-vous des exemples de ce que vous faites? Tout dans .NET (je construis des applications basées sur MVC 2.0). Merci! – Chaddeus

+1

Je voudrais juste mettre en place une action de post-construction qui exécute le compilateur de ruby ​​lessc sur vos fichiers .less, en les transformant en fichiers .css ordinaires. –

Répondre

6

Je ne vois aucune raison pour laquelle il devrait être utilisé dans la production. Il est plus logique de l'exécuter en tant que script de génération, puis de rendre la sortie (CSS standard) disponible sur un domaine sans cookie mis en cache. Ensuite, il fonctionne correctement sans JavaScript et ne nécessite pas de traitement JavaScript (qui sera plus lent que les analyseurs CSS écrits en code natif réglé) à chaque chargement de page.

+0

Je commence à être d'accord ... Je pense que l'article est plus ou moins une démonstration de ce qui est "cool" , mais pas était le plus performant. – Chaddeus

2

Oui, si les personnes avec Javascript désactivé sont un problème, alors je recommanderais contre le MOINS basé sur JavaScript. Personnellement, je n'y vois aucun avantage par rapport à Ruby, puisque vous avez seulement besoin que Ruby soit installé sur votre machine de développement - une fois que vous avez compilé le fichier .less en .css, il n'y a pas de différence entre un fichier .css MOINS compilé et "manuscrit".

+0

Les avantages sont les mêmes que n'importe quel script compilé JIT par rapport à un compilé. Vous passez l'étape de compilation. LESS.js sera également mis en cache dans le stockage local (pour tous les navigateurs qui le prennent en charge). – Alan

+0

??? Quels frais généraux seront nécessaires pour compiler vers CSS? – Pierreten

+0

CSS n'est pas un langage de programmation, et LESS.js n'est pas un JIT. Lisez [le code] (http://github.com/cloudhead/less.js/blob/master/dist/less-1.0.22.js). Il analyse moins et ajoute des feuilles de style au chargement de la page. Il n'a pas de réelles capacités JIT, comme la compilation dynamique de code à chaud en code natif, car il n'y a pas de code réel (seulement des styles). –

2

Je n'ai pas essayé en production, mais il peut y avoir des cas d'utilisation intéressants autour des variables LESS. Par exemple, vous pouvez modifier les variables sous-jacentes qui modifient à leur tour un ensemble de règles CSS dépendantes (largeurs/hauteurs relatives par exemple).

Voir https://stackoverflow.com/a/8742705/255961 pour un patch intéressant qui rend très facile de les changer en utilisant une fonction simple modifyVars().

Avec elle, vous pouvez changer la taille de votre réseau Bootstrap et tout ce qui dépend d'un seul appel JS local:

less.modifyVars({ 
    '@gridColumnWidth': 50px 
}); 
+0

C'est vrai ... pourrait être un peu cool pour ça. – Chaddeus