forked from zhoujiqiu/tvue-ui
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgulpfile.js
64 lines (61 loc) · 1.65 KB
/
gulpfile.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
var gulp = require('gulp')
var path = require('path')
var fs = require('fs')
var webpack = require('webpack')
var mkdirp = require('mkdirp')
var postcss = require('gulp-postcss')
var cssnano = require('cssnano')
require('shelljs/global')
gulp.task('default', function() {
console.log('---------gulp start---------')
genStyles()
var processors = [
require('postcss-salad')({
browsers: ['ie > 8', 'last 2 versions'],
features: {
'bem': {
'shortcuts': {
'component': 'b',
'modifier': 'm',
'descendent': 'e'
},
'separators': {
'descendent': '__',
'modifier': '--'
}
}
}
}),
require('postcss-discard-comments')({removeAll: true}),
require('postcss-px2rem')({remUnit: 40})
];
gulp.src('./src/styles/*.css')
.pipe(postcss(processors))
.pipe(require('gulp-cssmin')())
.pipe(gulp.dest('./lib/styles'));
});
function genStyles() {
var p = path.resolve(__dirname, './src/styles/')
var pathStyles = path.resolve(__dirname, './lib/styles/')
mkdirp(pathStyles,function () {
})
fs.readdir(p, function (err, files) {
if (err) {
throw err
}
files.filter(function (file) {
return fs.statSync(path.join(p, file)).isFile()
}).forEach(function (file) {
buildStyles(file)
})
})
}
function buildStyles (file) {
/*var fromPath = path.resolve(__dirname, `../src/styles/${file}`)
var toPath = path.resolve(__dirname, `../dist/styles/${file}`)
var code = fs.readFileSync(fromPath)
code = code.toString()*/
mkdirp('./lib/styles/', function () {
touch('./lib/styles/' + file)
})
}