'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.');
});