/
Gruntfile.js
77 lines (73 loc) · 1.53 KB
/
Gruntfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/**
* @author monkindey
* @date 2014.12.5
* @decription decrision tree项目grunt配置
*/
'use strict';
module.exports = function(grunt) {
var devPath = 'assets/index.js';
var destPath = 'assets/bundle.js';
var homePage = 'index.html';
var tasks = ['browserify'];
// Task configuration
grunt.initConfig({
// 检测js代码的严谨性
jshint: {
js: {
// src: [devPath + '*.js']
}
},
// mocha test
mochaTest: {
test: {
}
},
// 赋予前端模块化思想
browserify: {
js: {
src: devPath,
dest: destPath,
}
},
// 压缩js
uglify: {
options: {
sourceMap: true,
banner: '//<%= grunt.template.today("yyyy-mm-dd") %>'
},
// compact format
js: {
src: [],
dest: []
}
},
replace: {
timestamp: {
src: homePage,
overwrite: true,
replacements: [{
from: new RegExp(destPath + '(\\?t=\\d*)?'),
to: destPath + '?t=<%=grunt.template.date("yyyymmddHHMMss")%>'
}]
},
},
watch: {
main: {
files: ['assets/**'],
tasks: tasks
}
}
});
grunt.registerTask('default', function() {
grunt.task.run(tasks);
});
grunt.registerTask('watchfile', ['watch:main']);
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-browserify');
// grunt.loadNpmTasks('grunt-contrib-jshint');
// grunt.loadNpmTasks('grunt-text-replace');
// grunt.loadNpmTasks('grunt-mocha-test');
// grunt.loadNpmTasks('grunt-contrib-uglify');
// grunt.loadNpmTasks('grunt-contrib-cssmin');
// grunt.loadNpmTasks('grunt-contrib-imagemin');
};