@@ -5,13 +5,33 @@ module.exports = function(grunt){
5
5
// -- Init Configuration ---------------------------------------
6
6
grunt . initConfig ( {
7
7
8
+ application :{
9
+ dev : {
10
+ csspath :"/assets/css/" ,
11
+ jspath :"/assets/js/" ,
12
+ imgpath :"/assets/img/" ,
13
+
14
+ } ,
15
+ dist :{
16
+ csspath :"/assets/css/" ,
17
+ jspath :"/assets/js/" ,
18
+ imgpath :"/assets/img/" ,
19
+ }
20
+ } ,
8
21
uglify :{
9
22
options : {
10
23
compress : false ,
11
24
report : true ,
12
25
banner : '/* Minified on <%= grunt.template.date() %>*/\n'
13
26
} ,
14
- app : {
27
+ dev : {
28
+ files : {
29
+ '.tmp/public/assets/js/core.min.js' : [
30
+ 'public/assets/js/core.js'
31
+ ]
32
+ }
33
+ } ,
34
+ dist : {
15
35
files : {
16
36
'dist/public/assets/js/core.min.js' : [
17
37
'public/assets/js/core.js'
@@ -23,7 +43,15 @@ module.exports = function(grunt){
23
43
options : {
24
44
banner : '/* Minified on <%= grunt.template.date() %>*/\n'
25
45
} ,
26
- app : {
46
+ dev : {
47
+ files : {
48
+ '.tmp/public/assets/css/core.min.css' : [
49
+ 'public/assets/css/normalize.css' ,
50
+ 'public/assets/css/core.css'
51
+ ]
52
+ }
53
+ } ,
54
+ dist : {
27
55
files : {
28
56
'dist/public/assets/css/core.min.css' : [
29
57
'public/assets/css/normalize.css' ,
@@ -33,22 +61,42 @@ module.exports = function(grunt){
33
61
}
34
62
} ,
35
63
copy : {
36
- main : {
64
+ dist : {
65
+ files : [
66
+ // includes files within path and its sub-directories
67
+ { expand : true , src : [ 'public/**' , '!**/*[.css|.js]' ] , dest : 'dist/' }
68
+ ] ,
69
+ } ,
70
+ dev : {
37
71
files : [
38
72
// includes files within path and its sub-directories
39
- { expand : true , src : [ 'public/**' ] , dest : 'dist /' }
73
+ { expand : true , src : [ 'public/**' , '!**/*[.css|.js]' ] , dest : '.tmp /' }
40
74
] ,
41
75
} ,
42
76
} ,
77
+ clean : {
78
+ dev : [ ".tmp/" ] ,
79
+ dist : [ "dist/" ]
80
+ } ,
43
81
connect : {
44
- server : {
45
- options : 9001 ,
46
- keepalive : true
82
+ dev : {
83
+ options : {
84
+ port : 9001 ,
85
+ base : [ '.tmp/public' ]
86
+ }
87
+ } ,
88
+ dist : {
89
+ options : {
90
+ port : 9002 ,
91
+ base : [ 'dist/public/' ] ,
92
+ keepalive :true
93
+ }
47
94
}
48
95
} ,
49
96
watch : {
50
97
assets : {
51
- files : [ '**/*.js' , '**/*.html' , '**/*.css' ] ,
98
+ files : [ 'public/assets/css/*.css' , 'public/assets/js/*.js' , 'templates/**/*.html' , 'i18n/**/*.json' , 'i18n/**/*.html' ] ,
99
+ tasks :[ 'build' ] ,
52
100
options : {
53
101
livereload : true
54
102
}
@@ -74,10 +122,12 @@ module.exports = function(grunt){
74
122
grunt . loadNpmTasks ( 'grunt-contrib-watch' ) ;
75
123
grunt . loadNpmTasks ( 'grunt-contrib-copy' ) ;
76
124
grunt . loadNpmTasks ( 'grunt-contrib-imagemin' ) ;
125
+ grunt . loadNpmTasks ( 'grunt-contrib-clean' ) ;
77
126
78
127
// -- Register Task ---------------------------------------------
79
- grunt . registerTask ( 'default' , [ 'i18n' , 'uglify' , 'cssmin' ] ) ;
80
- grunt . registerTask ( 'server' , [ 'connect' , 'watch' ] ) ;
81
- grunt . registerTask ( 'dist' , [ 'i18n' , 'copy' , 'cssmin' , 'uglify' , 'imagemin' ] ) ;
128
+ grunt . registerTask ( 'server' , [ 'clean:dev' , 'i18n' , 'copy:dev' , 'cssmin:dev' , 'uglify:dev' , 'connect:dev' , 'watch' ] ) ;
129
+ grunt . registerTask ( 'dist' , [ 'clean:dist' , 'i18n' , 'copy:dist' , 'cssmin:dist' , 'uglify:dist' , 'imagemin' ] ) ;
130
+ grunt . registerTask ( 'build' , [ 'clean:dev' , 'i18n' , 'copy:dev' , 'cssmin:dev' , 'uglify:dev' ] ) ;
131
+ grunt . registerTask ( 'serverdist' , [ 'connect:dist' ] ) ;
82
132
83
133
} ;
0 commit comments