, build-modernizr ( ), Modernizr gulp.
gulp-modernizr , Modernizr Modernizr:
npm install
gulp gulpfile.js:
var modernizr = require('gulp-modernizr')
gulp.task('modernizr', function () {
return gulp.src('src/**/*.js')
.pipe(modernizr())
.pipe(gulp.dest('build'));
});
build/modernizr.js, , . html <script> Modernizr window.Modernizr. :
if (window.Modernizr.filereader) {
}
modernizr .
modernizr (. ), src/modernizr.js:
module.exports = window.Modernizr;
Modernizr:
var browserify = require('browserify');
var source = require('vinyl-source-stream');
gulp.task('browserify', ['modernizr'], function() {
var b = browserify({ entries: 'src/index.js' });
b.require('src/modernizr.js', {expose: 'modernizr'});
return b.bundle()
.pipe(source('index.js'))
.pipe(gulp.dest('build'));
});
:
var modernizr = require('modernizr');
if (modernizr.filereader) {
...
}
build/modernizr.js build/index.js index.html.
, src/index.html:
<!DOCTYPE html>
<html class='no-js' lang=''>
<head>
<meta charset='UTF-8'>
<title>Example</title>
</head>
<body>
</body>
</html>
gulp build/modernizr.js head build/index.js body build/index.html:
var inject = require('gulp-inject');
gulp.task('html', ['browserify'], function() {
return gulp.src('src/index.html')
.pipe(inject(gulp.src('build/modernizr.js', { read: false }),
{ ignorePath: 'build', addRootSlash: true, starttag: '<!-- inject:head:{{ext}} -->'}))
.pipe(inject(gulp.src('build/index.js', { read: false }),
{ ignorePath: 'build', addRootSlash: true}))
.pipe(gulp.dest('build'));
});