Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将特定的bower组件添加为Gulp中的IE8条件块_Javascript_Internet Explorer 8_Gulp_Wiredep_Gulp Inject - Fatal编程技术网

Javascript 如何将特定的bower组件添加为Gulp中的IE8条件块

Javascript 如何将特定的bower组件添加为Gulp中的IE8条件块,javascript,internet-explorer-8,gulp,wiredep,gulp-inject,Javascript,Internet Explorer 8,Gulp,Wiredep,Gulp Inject,我有几个bower组件,其中我需要在IE8条件块中添加一些组件,如json3,respondjs,es5shim,如下所示: 我应该如何继续写任务?我找不到任何适合此问题的gulpinject和wiredep示例。请告知可以使用和 假设您在index.html中定义了以下注入: <!--[if lt IE 9]> <![endif]--> <!-- inject:js --> <!-- endinject --> 您可以在gulpfile中

我有几个bower组件,其中我需要在IE8条件块中添加一些组件,如
json3
respondjs
es5shim
,如下所示:

我应该如何继续写任务?我找不到任何适合此问题的
gulpinject
wiredep
示例。请告知

可以使用和

假设您在
index.html
中定义了以下注入:

<!--[if lt IE 9]>
<![endif]-->
<!-- inject:js -->
<!-- endinject -->

您可以在gulpfile中连接它们:

var gulp = require('gulp')
var bowerFiles = require('main-bower-files');
var gulpFilter = require('gulp-filter');
var gulpInject = require('gulp-inject');

gulp.task('wiredep', function() {
    var ie8Files = ['**/json3.js', '**/es5shim.js'];
    // the same as: var restFiles = ['*', '!**/json3.js', '!**/es5shim.js'];
    var restFiles = ['*'].concat(ie8Files.map(function(e) { return '!' + e;}));
    return gulp.src('index.html')
    .pipe(gulpInject(gulp.src(bowerFiles(), {read: false}).pipe(gulpFilter(restFiles))))
    .pipe(gulpInject(gulp.src(bowerFiles(), {read: false}).pipe(gulpFilter(ie8Files)),
                    {starttag: '<!--[if lt IE 9]>', endtag: '<![endif]-->'}))
    .pipe(gulp.dest('dist'));
});
var gulp=require('gulp'))
var bowerFiles=require('main-bower-files');
var gulpFilter=require('gulp-filter');
var gulpInject=require('gulp-inject');
gulp.task('wiredep',function(){
var ie8Files=['**/json3.js','**/es5shim.js'];
//与以下内容相同:var restFiles=['*',!***/json3.js',!***/es5shim.js'];
var restFiles=['*'].concat(ie8Files.map(函数(e){return'!'+e;}));
return gulp.src('index.html')
.pipe(gulpInject(gulp.src(bowerFiles(),{read:false}).pipe(gulpFilter(restFiles)))
.pipe(gulpInject(gulp.src(bowerFiles(),{read:false}).pipe(gulpFilter(ie8Files)),
{starttag:''})
.pipe(大口目的地('dist'));
});
导致(例如):



除了使用wiredep忽略这些文件/组件并将条件块及其内容手动添加到HTML之外,我想不出其他方法。是的,目前我只是将脚本标记硬编码在条件语句中。我想要的是一种动态的方式,通过吞咽插头来实现这一点,这正是我想要的。
<!--[if lt IE 9]>
<script src="bower_components/json3/json3.js"></script>
<script src="bower_components/shim/es5shim.js"></script>
<![endif]-->
<!-- inject:js -->
<script src="bower_components/jquery/jquery.js"></script>
<!-- endinject -->