2015-01-06 11 views
5

में मैं कई बोवर घटकों, जिनमें से मैं (और साथ ही सेवा कर निर्माण में) कुछ घटकों json3, respondjs, es5shim की तरह एक IE8 सशर्त ब्लॉक में जोड़ा जाना चाहिए की तरह इस:IE8 सशर्त ब्लॉक के रूप में विशिष्ट बोवर घटकों को जोड़ने के लिए कैसे Gulp

<!--[if lt IE 9]> <script src="bower_components/json3/json3.js"></script> <![endif]-->

मैं कैसे काम लिखने के लिए आगे बढ़ना चाहिए? मुझे इस समस्या के लिए gulp-inject के साथ-साथ wiredep के साथ कोई उपयुक्त उदाहरण नहीं मिला। कृपया

+0

कर सकते हैं वायर्डेप के साथ उन फ़ाइलों/घटकों को अनदेखा करने और उस सशर्त ब्लू को जोड़ने के बाहर एक रास्ता नहीं निकालें ओक और इसकी सामग्री मैन्युअल रूप से एचटीएमएल के लिए। –

+0

हां वर्तमान में मैंने स्क्रिप्ट टैग को हार्डकोड किए गए सशर्त कथन में रखा है। मैं जो चाहता हूं वह गल्प प्लगइन –

उत्तर

2

gulp-filter और gulp-inject's starttag option के साथ यह संभव है।

आप निम्नलिखित इंजेक्शन 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')); 
}); 

कौन सा (उदाहरण के लिए) में जो परिणाम:

<!--[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 --> 
+0

द्वारा ऐसा करने का एक गतिशील तरीका है जिसे मैं ढूंढ रहा था। –

संबंधित मुद्दे