Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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 如何通过编程循环文件并要求每个文件?_Javascript_Node.js_Gulp_Browserify - Fatal编程技术网

Javascript 如何通过编程循环文件并要求每个文件?

Javascript 如何通过编程循环文件并要求每个文件?,javascript,node.js,gulp,browserify,Javascript,Node.js,Gulp,Browserify,我在Node(实际上是gulp)中尝试通过编程循环文件,并要求每个文件。但我一直得到一个错误,Browserify没有管道方法。当我明确地编写每个require语句时,这不会发生。这是我的密码: var bStream = browserify({ entries: [options.JSX_DEST + '/main'] }) .require('react') .require('react-addons'); fs.readdirSync(

我在Node(实际上是gulp)中尝试通过编程循环文件,并要求每个文件。但我一直得到一个错误,Browserify没有管道方法。当我明确地编写每个require语句时,这不会发生。这是我的密码:

var bStream = browserify({
         entries: [options.JSX_DEST + '/main']
     })
     .require('react')
     .require('react-addons');

fs.readdirSync(options.JSX_DEST).forEach(function(file){
        bStream.require(options.JSX_DEST + '/' + file);
    });

bStream.bundle({debug: false});
bStream.pipe(source('bundle.js'))
    .pipe(gulp.dest(options.JSX_DEST));
关于正确的方法有什么想法吗?为了澄清,如果我在第一行中链接bundle语句,那么下面的工作就可以了,但这需要我显式地编写每个require行,而我希望通过编程来完成

var bStream = browserify({
        entries: [options.JSX_DEST + '/main']
    })  
    .require('react')
    .require('react-addons')
    .bundle({debug: false});
    bStream
    .pipe(source('bundle.js'))
    .pipe(gulp.dest(options.JSX_DEST));

您忘记将函数回调的结果分配给
bstream

fs.readdirSync(options.JSX_DEST).forEach(function(file){
    bStream = bStream.require(options.JSX_DEST + '/' + file);
});

bStream.bundle({debug: false});
  .pipe(source('bundle.js')) // <- call .pipe on the result of .bundle!
  .pipe(gulp.dest(options.JSX_DEST));
那么,没有链接的等效版本将是

var x = foo();
x = x.bar();
x = x.baz();
不是

var x = foo();
x.bar();
x.baz();

请注意,
x
仍然会有
foo()
返回的值,而不是
baz()
返回的值。

回答得好-谢谢。出于某种原因,我是以基于类的方式来考虑它的,这在这里是不正确的。
var x = foo();
x.bar();
x.baz();