Самый быстрый способ скомпилировать SCSS (Compass) + обновить браузер?

Просто интересно, какой, по вашему мнению, самый быстрый способ скомпилировать SCSS и обновить браузер? В настоящее время я использую LiveReload, но иногда он кажется немного медленным, это может занять от 1 до 3 секунд. Это кажется не таким уж большим, но я чувствую, что теряю свой надлежащий темп кодирования.

Чем вы пользуетесь, ребята? будет ли CodeKit быстрее? Или, может быть, плагин Sublime LiveReload (не настоящее приложение)? Или, может быть, мне стоит отказаться от Compass и использовать что-то другое? Мы ценим любые предложения.

PS. I'm on OS X


person elemelas    schedule 05.01.2014    source источник


Ответы (3)


Я использую этот стек:

Предостережения

Но это намного быстрее x100xxx...!

Подробнее здесь:

http://benfrain.com/lightning-fast-sass-compiling-with-libsass-node-sass-and-grunt-sass/

Пример

Чтобы активировать перезагрузку на странице, добавьте тег script перед закрывающим тегом body:

<script src="//localhost:35729/livereload.js"></script>

Это пример Gruntfile.js:

module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON("package.json"),
    sass: {
      dist: {
        options: {
          outputStyle: "nested"
        },
        files: {
          "dist/css/app.css": "src/scss/app.scss"
        }
      }
    },
    watch: {
      options: {
        livereload: true
      },
      grunt: {
        files: ["Gruntfile.coffee"]
      },
      sass: {
        files: "src/scss/app.scss",
        tasks: ["sass"]
      }
    }
  });
  grunt.loadNpmTasks("grunt-sass");
  grunt.loadNpmTasks("grunt-contrib-watch");
  grunt.registerTask("build", ["sass"]);
  grunt.registerTask("default", ["build", "watch"]);
};
person Ilan Frumer    schedule 05.01.2014
comment
Спасибо за ответ. так что вы используете вместо компаса? Вы все еще можете использовать синтаксис scss? - person elemelas; 07.01.2014
comment
Как я упоминал выше, grunt-sass использует libsass, который поддерживает синтаксис scss. Я использую чистый sass, вы всегда можете создать свою собственную библиотеку общих функций. для более сложных вещей, таких как спрайты изображений, я все еще могу использовать компас вне этого стека, но ценой производительности. - person Ilan Frumer; 07.01.2014
comment
Имейте в виду, что если вы хотите использовать Compass с Grunt, существует проект grunt-contrib-compass, который упрощает эту задачу: github.com/gruntjs/grunt-contrib-compass - person richardaday; 18.03.2014
comment
Кроме того, не уверен, почему Илан упомянул, что Sass Indentation не поддерживается. Я, конечно, использую его с Grunt, но это может быть потому, что я использую grunt-contrib-compass вместо grunt-contrib-sass. - person richardaday; 18.03.2014
comment
Не обращайте внимания на мой последний комментарий. Только что заметил, что Илан говорит о grunt-sass, а не о grunt-contrib-sass (разница в том, что grunt-sass построен с использованием C, что делает его быстрее, но также поддерживает только SCSS). Для меня простота использования компаса стоит дополнительных секунд или двух ожидания. Приятно знать, что ворчание-дерзость существует, хотя мне когда-нибудь понадобится ускорить процесс. - person richardaday; 18.03.2014

Вы можете использовать fast-live-reload, чтобы сделать именно это, и вы выиграли тоже не нужна вся эта конфигурация. Я предполагаю, что что-то в этом роде будет делать:

fast-live-reload -ep "compass watch" \ -s http://path-to-your-app/ \ dist/css/

Это будет запускать compass watch при запуске и убивать его, когда вы закончите, и перезагружать страницу всякий раз, когда изменяется папка dist/css.

Это поток, который хорошо работает и с другими внешними наблюдателями, такими как машинописный текст.

Отказ от ответственности: я являюсь создателем fast-live-reload.

person bogdan.mustiata    schedule 11.06.2015

Для новых проектов я рекомендую скаффолдинг с помощью Yeoman, который автоматически создаст файлы, необходимые для сборки для производства, живой перезагрузки, автоматической компиляции scss/less и даже оптимизировать изображения — все это обрабатывается Gulp (на мой взгляд, это лучшая альтернатива grunt и более простая в использовании).

https://github.com/yeoman/generator-gulp-webapp

Если вы не начинаете новый проект, следуйте этим руководствам по современным рабочим процессам переднего плана.

http://latviancoder.com/story/our-frontend-workflow

http://viget.com/extend/gulp-browserify-starter-faq

Не забывайте, что Javascript — это здорово. Его можно использовать для решения большинства ваших проблем, комбинируя более мелкие инструменты, которые в сочетании могут автоматизировать и повысить вашу производительность в 10 раз. Особенно, если ты на передовой.

Вот более подробный обзор инструментов JavaScript, которые могут помочь повысить вашу производительность:

https://dgosxlrnzhofi.cloudfront.net/custom_page_images/107/page_images/JavaScript-Tools-1200.jpg?1395348993

person AntonB    schedule 30.01.2015