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