Мне интересно, может ли хэш-рубин делиться между Sass и CoffeeScript с минимумом суеты.
Я искал ответ на этот вопрос, но не нашел ничего убедительного. Источники, такие как documentation для Sass, расскажите о том, как связать файлы одного и того же типа и как управлять структурами данных в языке, но не касайтесь того, можно ли импортировать данные из других источников или можно ли интерпретировать код ruby каким-либо образом - только аналогичные вещь, о которой я могу думать, это компас с использованием файла .rb для его конфигурации.
Мой инстинкт предполагает, что это (или должно) быть возможно, оба языка похожи на Ruby и способны интерпретировать хеши.
Поскольку это практическая проблема, с которой я столкнулся несколько раз (DRYing pre-processing front end code, но также предоставляющий одинаковые значения для обработки на заднем плане, такие как создание SVG в HTML-шаблоне), но никогда не решался в действительно чистом виде я бы принял решение, которое связано с использованием Rails.
Обратите внимание, что я довольно подробно отношусь к этому вопросу, касающемуся стадии предварительной компиляции производства конечных активов, а именно Sass и CoffeeScript. Ответы, которые связаны с CSS, JavaScript или требуют браузера, не являются тем, что я ищу.
Дополнительные биты
Я решил добавить пример, вот три определения тех же данных, что и пары ключевых значений:
colours = { brandBackground: '#f00', brandForeground: '#00f', brandText: '#0f0' }
colours[:brandBackground]
$colours: ( brandBackground: '#f00', brandForeground: '#00f', brandText: '#0f0' )
map-get($colours, brandBackground)
colours = { brandBackground: '#f00', brandForeground: '#00f', brandText: '#0f0' }
colours.brandBackground
Определения Coheescript и Ruby идентичны, Sass очень близок... если это может сработать, тогда цвета (или любая другая переменная) могут быть определены в одном месте, а затем использоваться по всему фронту и обратно с помощью любого кода.