2017-09-05 11 views
0

我用一口任務注入我的JavaScript文件:glup.inject {相對的:真正}還創建了一個rootSlash

gulp.task('index', function() { 
var target = gulp.src('./public/index.html'); 
var sources = gulp.src(config.appjs.concat(config.appcss), {read: false}); 

return target.pipe(inject(sources), 
    { 

     relative: true, 
     addRootSlash : false 
     // ignorePath: /[^/]/ 
     // ignorePath: "/(\.\.\/)?\//", 

     // ignorePath: '/public' 

    }) 
    .pipe(wiredep({ 
      ignorePath: "^/" 
    })) 
    .pipe(gulp.dest('./dev')) 
    .pipe(browserSync.stream()); 
}); 

但我仍然看到,而不是/public

<script src="public/js/config/app.js"></script>

這裏:

<!-- inject:js --> 
<script src="/public/js/config/app.js"></script> 
<script src="/public/js/components/home-component.js"></script> 
<script src="/public/js/components/login-component.js"></script> 
<script src="/public/js/components/progress-bar-component.js"></script> 

我是如何解決這一問題?

回答

0

您錯誤地傳遞了選項。現在你將它們傳遞到pipe(),但他們需要進入inject()。應該是這樣的:

gulp.task('default', function() { 

    var target = gulp.src('./public/index.html'); 
    var sources = gulp.src('./public/**/*.js', { read: false }); 

    return target.pipe(inject(sources, { relative: true, addRootSlash: false })) 
     .pipe(wiredep({ 
      ignorePath: "^/" 
     })) 
     .pipe(gulp.dest('./dev')) 
     .pipe(browserSync.stream()); 
}); 
相關問題