Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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 如何使用gulp.src()获取相对源_Javascript_Node.js_Gulp_Gulp Inject - Fatal编程技术网

Javascript 如何使用gulp.src()获取相对源

Javascript 如何使用gulp.src()获取相对源,javascript,node.js,gulp,gulp-inject,Javascript,Node.js,Gulp,Gulp Inject,我的文件位于/components/slider/index.html。我设置了一个gulp任务,使用gulpinject从单独的文件夹中注入相关的css/js文件 gulp.task('default', function() { return gulp.src('./components/**/*.html') .pipe( inject(gulp.src(['./assets/css/bootstrap/*.css'], {read: false}), { relativ

我的文件位于/components/slider/index.html。我设置了一个gulp任务,使用gulpinject从单独的文件夹中注入相关的css/js文件

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

    return gulp.src('./components/**/*.html')
    .pipe( inject(gulp.src(['./assets/css/bootstrap/*.css'], {read: false}), { relative: true }) )
    .pipe( inject(gulp.src(['./assets/js/jquery/*.js'], {read: false}), {starttag: '<!-- inject:head:{{ext}} -->', relative: true} ) )
    .pipe(gulp.dest('./dist'));

});
gulp.task('default',function()){
返回gulp.src(“./components/***.html”)
.pipe(inject(gulp.src(['./assets/css/bootstrap/*.css'],{read:false}),{relative:true}))
.pipe(inject(gulp.src(['./assets/js/jquery/*.js'],{read:false}),{starttag:'',relative:true}))
.管道(大口目的地('./dist'));
});
现在我需要获取一个js文件的源代码,位于我们正在管道中传输的html源代码旁边,以便使用gulp inject将其注入

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

    return gulp.src('./components/**/*.html')
    .pipe( inject(gulp.src(['./assets/css/bootstrap/*.css'], {read: false}), { relative: true }) )
    .pipe( inject(gulp.src(['./assets/js/jquery/*.js'], {read: false}), {starttag: '<!-- inject:head:{{ext}} -->', relative: true} ) )
    .pipe(gulp.dest('./dist'));

});

是否仍然可以在管道中获取
gulp.src('./components/***.html')
,并从中获取同级js文件?有什么建议吗?

事实证明,使用gulp inject无法做到这一点,因此我所做的是获取目录路径列表,然后分别对每个路径执行gulp inject

这样,在我开始注射之前,我就可以访问所有文件夹和文件路径

var fs = require('fs');
var dirPath = '/components/widgets/';
var result = [];  //this is going to contain paths

fs.readdir(__dirname + dirPath, function (err, filesPath) {
    if (err) throw err;
    result = filesPath.map(function (filePath) {
        return dirPath + filePath;
    });

    function do_inject(entry) {
        // Injection Code using gulp-inject
    }

    result.forEach(function(entry) {
        do_inject(entry);
    });

});
最后,我还使用了“addPrefix”和“addRootSlash”选项来进行gulp注入,以使其按我所希望的方式运行。只是一些额外的信息,它可能会帮助别人