Есть ли 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. Я видел несколько реализаций реализации, но я не могу рекомендовать использовать их в настоящее время.
Однако, пожалуйста, несколько моментов:
- Зачем вам заставлять всех пользователей составлять таблицы стилей, если вы можете сделать это один раз для всех них?
- Как бы выглядел ваш сайт, если JavaScript отключен.
- Если вы решите перейти на реализацию на стороне сервера в будущем, все ваши шаблоны должны быть изменены соответствующим образом.
Таким образом, хотя для начала нужно немного больше настройки, мы (команда 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. Несколько вещей, возможно, изменились за эти годы. Проверь это:
Вам определенно не следует заставлять всех ваших пользователей компилировать таблицы стилей, однако реализация javascript также может выполняться на сервере. Я также ищу реализацию savascript для использования в приложении node.js. Это что-то, что обсуждает команда sass?
Почему 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.