1 | const
|
2 | path = require('path'),
|
3 | env = require('./default_env');
|
4 |
|
5 | const
|
6 | vQueryKey = '_rvc_',
|
7 | hashSize = 10;
|
8 |
|
9 | module.exports = {
|
10 | env: 'local',
|
11 | sourceDir: env.source.path,
|
12 | buildDir: env.dest.path,
|
13 | buildTasks: {
|
14 | 'build.css': {
|
15 | src: [
|
16 | 'assets/css/reset.css',
|
17 | 'assets/css/**/*'
|
18 | ],
|
19 | dest: 'assets/css',
|
20 | rely: ['build.assets'],
|
21 | loader: cssLoaders('app.min.css'),
|
22 |
|
23 | watch: ['assets/css/**/*']
|
24 | },
|
25 | 'build.assets': {
|
26 | src: 'assets/{fonts,images,js,libs}/**/*',
|
27 | filters: [],
|
28 | dest: 'assets',
|
29 | loader: jsLoaders()
|
30 | },
|
31 | 'build.modules': {
|
32 | src: 'modules/**/*',
|
33 | dest: 'modules',
|
34 | loader: jsLoaders()
|
35 | },
|
36 | 'build.views': {
|
37 | src: ['views/**/*.html'],
|
38 | rely: [ 'build.css'],
|
39 | dest: 'views',
|
40 | loader: htmlLoaders(),
|
41 | watch: [
|
42 | 'views/**/*',
|
43 | 'components/**/*',
|
44 | 'templates/**/*'
|
45 | ]
|
46 | },
|
47 | }
|
48 | };
|
49 |
|
50 | function cssLoaders(fileName){
|
51 | return {
|
52 | 'gulp-merge-css': { fileName: fileName },
|
53 | 'gulp-recache': recache(env.dest.path + '/assets'),
|
54 | 'gulp-autoprefixer': {
|
55 | browsers: ['> 5%', 'IE > 8', 'last 2 versions']
|
56 | },
|
57 | 'gulp-uglifycss': { _if: env.isProduction }
|
58 |
|
59 | }
|
60 | }
|
61 |
|
62 | function jsLoaders(){
|
63 | return {
|
64 | 'gulp-jsminer': {
|
65 | _if: env.isProduction,
|
66 | preserveComments: '!'
|
67 | }
|
68 | }
|
69 | }
|
70 |
|
71 | function htmlLoaders(){
|
72 | return {
|
73 | 'gulp-tag-include': { compress: env.isProduction },
|
74 | 'gulp-recache': recache(env.dest.path)
|
75 | }
|
76 | }
|
77 |
|
78 | function recache(path){
|
79 | return {
|
80 | _if: env.isIf,
|
81 | queryKey: vQueryKey,
|
82 |
|
83 | hashSize: hashSize,
|
84 |
|
85 | toBase64Limit: 1000,
|
86 | basePath: path
|
87 | }
|
88 | } |
\ | No newline at end of file |