#Package requirements
npm install gulp-connect proxy-middleware --save-dev| var gulp = require('gulp'); | |
| var concat = require('gulp-concat'); | |
| var sass = require('gulp-sass'); | |
| var minifyCss = require('gulp-minify-css'); | |
| var rename = require('gulp-rename'); | |
| var connect = require('gulp-connect'); | |
| var paths = { | |
| css: ['./www/css/**/*.css'], | |
| js: ['./www/js/**/*.js'], | |
| html: ['./www/index.html', './www/templates/**/*.html'], | |
| sass: ['./scss/**/*.scss'] | |
| }; | |
| gulp.task('sass', function(done) { | |
| gulp.src('./scss/ionic.app.scss') | |
| .pipe(sass()) | |
| .pipe(gulp.dest('./www/css/')) | |
| .pipe(minifyCss({ | |
| keepSpecialComments: 0 | |
| })) | |
| .pipe(rename({ extname: '.min.css' })) | |
| .pipe(gulp.dest('./www/css/')) | |
| .pipe(connect.reload()) | |
| .on('end', done); | |
| }); | |
| gulp.task('js', function(done) { | |
| gulp.src(paths.js) | |
| .pipe(connect.reload()) | |
| .on('end', done); | |
| }); | |
| gulp.task('css', function(done) { | |
| gulp.src(paths.css) | |
| .pipe(connect.reload()) | |
| .on('end', done); | |
| }); | |
| gulp.task('html', function(done) { | |
| gulp.src(paths.html) | |
| .pipe(connect.reload()) | |
| .on('end', done); | |
| }); | |
| gulp.task('watch', function() { | |
| gulp.watch(paths.sass, ['sass']); | |
| gulp.watch(paths.js, ['js']); | |
| gulp.watch(paths.css, ['css']); | |
| gulp.watch(paths.html, ['html']); | |
| }); | |
| gulp.task('default', ['watch', 'server']); | |
| gulp.task('server', function(){ | |
| connect.server({ | |
| root: ['www'], | |
| port: 9000, | |
| livereload: true, | |
| middleware: function(connect, o) { | |
| return [ (function() { | |
| var url = require('url'); | |
| var proxy = require('proxy-middleware'); | |
| var options = url.parse('http://beta.rhinobird.tv/api'); | |
| options.route = '/api'; | |
| return proxy(options); | |
| })() ]; | |
| } | |
| }); | |
| }); |
npm install gulp-{concat,sass,minify-css,rename,connect} --save-dev