Fastest way to compile SCSS (Compass) + refresh the browser?

爷,独闯天下 提交于 2019-12-04 04:54:24

I use this stack:

Caveats

But it is much faster x100xxx...!

Read more here:

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

Example

To enable live reload on your page, add a script tag before your closing body tag:

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

That's an example of a 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"]);
};

You could use fast-live-reload, to do exactly that, and you won't need all that configuration either. I assume something along these lines would do:

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

That would run compass watch on startup, and kill it when you're done, and reload the page whenever the dist/css folder is changed.

This is a flow that works well also with other external watchers like typescript.

Disclaimer: I am the creator of fast-live-reload.

For new projects I recommend scaffolding with Yeoman, which will automatically create the files necessary to build for production, live-reload, auto-compile scss / less, and even optimize images -- all handled by Gulp (the best alternative to grunt and easier to use in my opinion).

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

If you aren't starting out a new project then follow these tutorials on modern front end workflows

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

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

Don't forget Javascript is great. It can be used to solve most of your problems by combining smaller tools which in conjunction can automate and improve your productivity by 10x. Especially if you are in the front end.

Here is a larger overview of Javascript Tools that can help improve your productivity:

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!