2013-04-29 3 views
18

Я экспериментирую с yeoman.Лучший или простой способ интегрировать меньше в йомен?

Я хочу интегрировать less в мой йоман или ворчащий сбор. Но я не нашел простой способ сделать это.

Я нашел для yeoman-less репозиторий, который ссылается на grunt-contrib-less. Но этот плагин довольно сложно подключить, если вы новичок в yoman и хрюкаете. Разве нет гораздо более легкого способа подключить плагин к моему веб-сайту yoman, так что чем меньше команд автоматически добавляется в файл сборки grunt?

Спасибо за советы и рекомендации!

+0

вы используете конкретный генератор, который вы хотите интегрировать Less с? Тогда было бы легче привести пример. – passy

+0

В настоящее время я использую «yo webapp», но у меня есть лучший генератор, пожалуйста, дайте мне знать! Благодаря! – cremersstijn

+0

Я попробовал решение ниже, но не смог восстановить работоспособность печенки. Однако я нашел генератор специально для Bootstrap и Less: https://npmjs.org/package/generator-bootstrap -less – Benmj

ответ

19

Предполагая, что вы эшафот из нового приложения с помощью yo webapp и ответить на оба вопроса с No, ваш лучший выбор для интеграции МЕНЬШЕ является grunt-recess, который необходимо установить первый:

npm install --save-dev grunt-recess 

Если вы не любите правила пылеобразования, вы можете customize them. Не стесняйтесь удалять grunt-compass и удаляйте его с package.json.

Затем нужно заменить compass задачу в Gruntfile с этим:

recess: { 
     options: { 
      compile: true 
     }, 
     dist: { 
      files: [{ 
       expand: true, 
       cwd: '<%= yeoman.app %>/styles', 
       src: '{,*/}*.less', 
       dest: '.tmp/styles/', 
       ext: '.css' 
      }] 
     } 
    } 

Затем нужно заменить все остальные ссылки на compass задачи с recess, так что в результате Gruntfile выглядит this one.

+0

Спасибо за подсказку. Однако, когда я делаю эти изменения, я не могу работать с печенью. У вас были подобные проблемы? (Я запускаю генератор Yeoman Webapp 0.2.3) – Benmj

+0

@Benmj Попробуйте последнюю версию, были проблемы с загрузкой в ​​прежние версии. – passy

+2

Я смог заставить его работать. Я думаю, что в файле Gruntfile @ passy есть опечатка: в конфигурации часов должно быть 'recess: dist' вместо' recess: server'. Вот мой файл Grunt: https://paste.welcloud.de/show/9wZikzH1osEOkzjjuJtH/ – DreamSonic

0

Если вы получите следующее сообщение об ошибке Ожидаемые recess иметь identation на 9 вместо на 10.

Пожалуйста, добавьте recces к вашему grunt.registerTask, я поставил мину после autoprefixer

grunt.registerTask('serve', function (target) { 
    if (target === 'dist') { 
     return grunt.task.run(['build', 'connect:dist:keepalive']); 
    } 

    grunt.task.run([ 
     'clean:server', 
     'concurrent:server', 
     'autoprefixer', 
     'recess', 
     'connect:livereload', 
     'watch' 
    ]); 
}); 
+0

Указанная ошибка выглядит как ошибка jshint/jslint. Заказ задания не должен иметь значения. – Nilesh

Смежные вопросы