gpt4 book ai didi

javascript - 如何以编程方式循环遍历文件并要求每个文件?

转载 作者:行者123 更新时间:2023-12-03 12:18:48 25 4
gpt4 key购买 nike

我在 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));

关于正确的方法有什么想法吗?只是为了澄清以下工作,如果我在第一行链接我的捆绑语句,但这需要我显式地编写每个 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().bar().baz();

那么没有链接的等效版本将是

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

不是

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

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

关于javascript - 如何以编程方式循环遍历文件并要求每个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com