Исключение файлов из активов: прекомпиляция в рельсах
Я использую код для записи меньше, который затем автоматически преобразуется в css.
Я не хочу, чтобы рельсы конвертировали мои меньше файлов в css, я скорее codekit делаю это.
если я предварительно скомпоную активы через
rake assets:precompile
Я получаю
rake aborted!
cannot load such file -- less
Как исключить определенные типы файлов/файлов из precompiling? (все мои файлы меньше в app/assets/stylesheets/less, а css (которые я хочу предварительно скомпилировать) находятся в app/assets/stylesheets/css
Обновление
удаление application.less
решает это, но как я исключаю его из обработки в первую очередь?
Ответы
Ответ 1
Из руководства Asset Pipeline:
Совместимость по умолчанию для компиляции файлов включает application.js, application.css и все файлы, не относящиеся к JS/CSS (т.е.. coffee и .scss файлы не включаются автоматически при компиляции в JS/CSS):
[ Proc.new{ |path| !File.extname(path).in?(['.js', '.css']) }, /application.(css|js)$/ ]
Если у вас есть другие манифесты или отдельные таблицы стилей и JavaScript файлы для включения, вы можете добавить их в массив прекомпиляции:
config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']
Итак, я бы сказал, что ваше решение состоит в том, чтобы изменить config.assets.precompile
, чтобы исключить файлы .less
. Может быть, что-то вроде этого (в подходящем файле среды, например config/environments/production.rb
):
config.assets.precompile = [ Proc.new{ |path| !File.extname(path).in?(['.js', '.css', '.less']) }, /application.(css|js)$/ ]
Ответ 2
Если ваша структура каталогов находится в папке app/assets:
application.css
/css
(generated by code kit)
|...home.css
|...index.css
/less
|...home.less (assuming this is the extension)
|...index.less
Затем в вашем файле application.css должна быть директива, в которой указано *= require_tree .
. Это указывает, что rails сканирует все файлы/каталоги и пытается скомпилировать все файлы в один файл css.
Измените это на *= require_directory ./css
и он загрузит файлы в каталоге css
для компиляции.