Есть ли SASS.js? Что-то вроде LESS.js?

Я использовал LESS.js раньше. Это простой в использовании, что-то вроде

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

Я видел SASS.js. Как я могу использовать его подобным образом? Разбор файла SASS для немедленного использования в HTML. Похоже, SASS.js больше подходит для Node.js?

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

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

7 ответов

Решение

Не существует официально утвержденной реализации JavaScript sass или scss. Я видел несколько реализаций реализации, но я не могу рекомендовать использовать их в настоящее время.

Однако, пожалуйста, несколько моментов:

  1. Зачем вам заставлять всех пользователей составлять таблицы стилей, если вы можете сделать это один раз для всех них?
  2. Как бы выглядел ваш сайт, если JavaScript отключен.
  3. Если вы решите перейти на реализацию на стороне сервера в будущем, все ваши шаблоны должны быть изменены соответствующим образом.

Таким образом, хотя для начала нужно немного больше настройки, мы (команда sass core) считаем, что компиляция на стороне сервера - лучший долгосрочный подход. Аналогичным образом, менее разработчики предпочитают компиляцию на стороне сервера для производственных таблиц стилей.

Поскольку visionmeda/sass.js больше не доступен, а scss-js не обновлялся в течение 2 лет, я мог бы заинтересовать вас sass.js. Это библиотека C++ libsass (также используемая node-sass), скомпилированная в JavaScript с использованием Emscripten. Реализацию для компиляции таблиц стилей scss, связанных или встроенных в html, можно найти по адресу sass.link.js.

Попробуйте sass.js, используя интерактивную игровую площадку

ДА

Как мы и ожидали, после переписывания на C++ его можно скомпилировать в Javascript через Emscripten.

Это версия браузера: https://github.com/medialize/sass.js/

Как они рекомендуют, для узла вы можете использовать этот: https://github.com/sass/node-sass

Я только что обнаружил интересную площадку Sass.js. Несколько вещей, возможно, изменились за эти годы. Проверь это:

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

Вам определенно не следует заставлять всех ваших пользователей компилировать таблицы стилей, однако реализация javascript также может выполняться на сервере. Я также ищу реализацию savascript для использования в приложении node.js. Это что-то, что обсуждает команда sass?

Есть покушение на GitHub, scss-js. Тем не менее, он не завершен и не имел никаких коммитов в течение пяти месяцев.

Почему LibSass

Хотя официально не разрешена реализация sass в JavaScript, существует официальный порт C/C++ движка Sass, известный как LibSass. Поскольку LibSass является официальной реализацией, лучше всего выбрать библиотеку JavaScript, которая использует LibSass под капотом.


На сервере

Для JavaScript, работающего в среде Node.js, существует Node-sass.

Под капотом Node-sass используется сам LibSass.


В браузере

Для JavaScript, работающего в браузере, есть Sass.js.

Под капотом Sass.js используется версия LibSass (на момент написания моей статьи - v3.3.6), которая была преобразована в JavaScript с помощью Emscripten.

Другие вопросы по тегам