'use strict';
var gulp =
require('gulp'),
uglifycss = require('gulp-uglifycss'),
htmlmin = require('gulp-htmlmin'),
embedSass = require('gulp-angular2-embed-sass'),
embedTemplates =
require('gulp-angular-embed-templates');
gulp.task('copy-scss',
function() {
gulp.src([
'src/app/**/*.css',
'src/app/**/*.scss'
])
.pipe(uglifycss({"uglyComments":
true}))
.pipe(gulp.dest('release'));
});
gulp.task('copy-html',
function () {
var options = {
removeComments:
true, //清除HTML註釋
collapseWhitespace:
true, //壓縮HTML
collapseBooleanAttributes:
true, //省略布爾屬性的值 <input checked="true"/> ==> <input checked />
removeEmptyAttributes:
true, //刪除所有空格作屬性值 <input id="" /> ==> <input />
removeScriptTypeAttributes:
true, //刪除<script>的type="text/javascript"
removeStyleLinkTypeAttributes:
true, //刪除<style>和<link>的type="text/css"
minifyJS: true,
//壓縮頁面JS
minifyCSS: true
//壓縮頁面CSS
};
gulp.src('src/app/**/*.html')
.pipe(htmlmin(options))
.pipe(gulp.dest('release'));
});
gulp.task('embedTemplatesSass',
function() {
gulp.src('src/app/**/*')
// Angular1Processor.js 這個文件39行new html.DomHandler(this.minimizer.emits('read')), this.config.minimize.dom || {lowerCaseAttributeNames: false, lowerCaseTags: false}
.pipe(embedTemplates({sourceType:'ts',
minimize: {dom: {lowerCaseAttributeNames:
false, lowerCaseTags:
false}}}))
.pipe(embedSass())
.pipe(gulp.dest('temp'));
});
//Building project with run sequence
// gulp.task('default', ['copy-scss', 'copy-html']);
gulp.task('default', ['embedTemplatesSass'],
function() {
// console.log('finished.');
});