UNPKG

2.18 kBJavaScriptView Raw
1const
2 path = require('path'),
3 env = require('./default_env');
4
5const
6 vQueryKey = '_rvc_',
7 hashSize = 10;
8
9module.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
50function 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
62function jsLoaders(){
63 return {
64 'gulp-jsminer': {
65 _if: env.isProduction,
66 preserveComments: '!'
67 }
68 }
69}
70
71function htmlLoaders(){
72 return {
73 'gulp-tag-include': { compress: env.isProduction },
74 'gulp-recache': recache(env.dest.path)
75 }
76}
77
78function recache(path){
79 return {
80 _if: env.isIf,
81 queryKey: vQueryKey,
82 // hash值长度
83 hashSize: hashSize,
84 // 控制字节大小以内的图片转base64,
85 toBase64Limit: 1000,
86 basePath: path
87 }
88}
\No newline at end of file