web-dev-qa-db-fra.com

Existe-t-il un SASS.js? Quelque chose comme LESS.js?

J'ai utilisé LESS.js avant. C'est facile à utiliser, quelque chose comme

<link rel="stylesheet/less" href="main.less" type="text/css">
<script src="less.js" type="text/javascript"></script>

J'ai vu SASS.js . Comment puis-je l'utiliser de manière similaire? Analyser un fichier SASS pour l'utiliser immédiatement en HTML. Il semble que SASS.js soit plus à utiliser avec Node.js ?

var sass = require('sass')
sass.render('... string of sass ...')
// => '... string of css ...'

sass.collect('... string of sass ...')
// => { selectors: [...], variables: { ... }, mixins: { ... }}
110
Jiew Meng

Il n'y a pas d'implémentation JavaScript officiellement approuvée de sass ou scss. Il y a quelques implémentations en cours que j'ai vues, mais aucune que je peux recommander d'utiliser pour le moment.

Cependant, veuillez noter quelques points:

  1. Pourquoi devriez-vous obliger tous vos utilisateurs à compiler vos feuilles de style alors que vous pouvez le faire une fois pour toutes.
  2. À quoi ressemblerait votre site si JavaScript était désactivé.
  3. Si vous décidez de passer ultérieurement à une implémentation côté serveur, tous vos modèles doivent être modifiés en conséquence.

Donc, bien qu'il soit un peu plus configuré pour commencer, nous (l'équipe principale de Sass) pensons que la compilation côté serveur est la meilleure approche à long terme. De même, moins les développeurs préfèrent la compilation côté serveur pour les feuilles de style de production.

41
chriseppstein

Comme visionmeda/sass.js n'est plus disponible et que scss-js n'a pas été mis à jour depuis 2 ans, je pourrais vous intéresser sass.js . Il s'agit de la bibliothèque C++ libsass (également utilisée par node-sass ) compilée en JavaScript à l'aide d'Emscripten. Une implémentation pour compiler des feuilles de style scss liées ou incorporées en html peut être trouvée à sass.link.js .

Essayez sass.js en utilisant aire de jeux interactive

29
rodneyrehm

[~ # ~] oui [~ # ~]

Comme nous l'attendions, après l'avoir réécrit sur C++ , il est possible de le compiler en Javascript via Emscripten .

Il s'agit de la version du navigateur: https://github.com/medialize/sass.js/

Comme ils le recommandent, pour le nœud, vous pouvez utiliser celui-ci: https://github.com/sass/node-sass

7
nikoloza

Je viens de découvrir un terrain de jeu Sass.js intéressant. Certaines choses ont peut-être changé au fil des ans. Regarde ça:

http://medialize.github.io/playground.sass.js/

6
Chong Lip Phang

Vous ne devriez certainement pas obliger tous vos utilisateurs à compiler des feuilles de style, mais une implémentation javascript peut également s'exécuter sur le serveur. Je recherche également une implémentation javascript sass - à utiliser dans une application node.js. Est-ce quelque chose que l'équipe sass envisage?

5
tilleryj

Il y a une tentative sur GitHub , scss-js . Cependant, il est incomplet et n'a pas fait de commits depuis cinq mois.

3
Peter Lyons

Pourquoi LibSass

Bien qu'il n'y ait pas d'implémentation JavaScript officiellement approuvée de sass, il existe un port C/C++ officiel du moteur Sass, connu sous le nom LibSass . Parce que LibSass est une implémentation officielle, il est préférable d'opter pour une bibliothèque JavaScript qui utilise LibSass sous le capot.


Sur le serveur

Pour JavaScript exécuté dans un environnement Node.js, il y a Node-sass .

Sous le capot, Node-sass utilise LibSass lui-même.


Dans le navigateur

Pour JavaScript exécuté dans le navigateur, il y a Sass.js .

Sous le capot, Sass.js utilise une version de LibSass (v3.3.6 au moment où j'écris ceci) qui a été convertie en JavaScript avec Emscripten .

1
John Slegers