Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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()未读取所需的JSON文件';s数组值_Javascript_Json_Angularjs_Node.js_Gulp - Fatal编程技术网

Javascript gulp.src()未读取所需的JSON文件';s数组值

Javascript gulp.src()未读取所需的JSON文件';s数组值,javascript,json,angularjs,node.js,gulp,Javascript,Json,Angularjs,Node.js,Gulp,我试图从数组中获取gulp.src()流文件,这样我就可以使用gulp inject将它们写入index.html文件。下面列出的是我的gulp.config.json文件,它将保存我的项目中包含的包的文件路径。 { "vendorjs": [ "jquery/dist/jquery.min.js", "angular/angular.js", "ng-token-auth/dist/ng-token-auth.js", "

我试图从数组中获取
gulp.src()
流文件,这样我就可以使用gulp inject将它们写入index.html文件。下面列出的是我的
gulp.config.json
文件,它将保存我的项目中包含的包的文件路径。

{
    "vendorjs": [
        "jquery/dist/jquery.min.js",
        "angular/angular.js",
        "ng-token-auth/dist/ng-token-auth.js",
        "angular-bootstrap/ui-bootstrap-tpls.min.js",
        "ngInfiniteScroll/build/ng-infinite-scroll.min.js",
        "js/vendor/angular-ui-tour.js",
        "spin.js/spin.js",
        "angular-spinner/angular-spinner.min.js",
        "angular-scroll/angular-scroll.js"
    ],
    "js": [
        "js/app.js",
        "js/directives.js",
        "js/services.js",
        "js/filters.js"
    ]
}
出于调试目的,我的gulpfile.js看起来像这样

Gulpfile.js

它似乎只输出到控制台:
gulpdebug:js/vendor/angular ui tour.js


除非我将
path.vendorjs
切换到
path.js
像这样:
gulp.src(path.js).pipe(debug())
,然后我得到js数组中每个文件的输出


有人能解释一下为什么会发生这种情况吗?

除显示的文件外,所有文件的路径很可能都不正确,因此它们不会进入管道。您可以使用gulp expect file之类的工具来检查是否所有文件都已进入管道。

因此数组中的路径实际上必须与项目中的文件匹配?我的印象是,这将是一种“路径输入路径输出”的情况,因为除了使用路径的名称之外,我实际上没有对路径进行任何处理。是的,这些文件必须存在于该位置,gulp将获取这些文件并运行一系列转换,然后使用gulp.dest编写它们。如果文件不存在,则不会发生任何事情。是否有办法让gulp忽略查找它们并使用名称,或者我必须将,
。/../components/bower\u components
添加到我的所有文件路径中?它会忽略它们,它们不会发生任何事情。gulp.src用于获取文件列表,但不能获取字符串列表。但是你想实现什么呢?你的主要目标是什么?
var gulp = require('gulp'),
    inject = require('gulp-inject'),
    paths = require('./gulp.config.json'),
    debug = require('gulp-debug');

gulp.task('default', function() {
    gulp.src(paths.vendorjs).pipe(debug());
});
gulp-debug: js/app.js
gulp-debug: js/directives.js
gulp-debug: js/services.js
gulp-debug: js/filters.js