我正在使用gulp和browserify处理nodejs项目。
我想要包含一个模块文件夹,我不知道我的主js文件中的文件名。
我对如何解决这个问题的初步想法是:
运行gulp脚本为文件夹中的所有文件创建index.js文件
要求在主浏览器文件
运行browserify
示例:
dir structrure:
/
/models
/model1.js
/model2.js
所需的输出对象:
{
"model1": {...},
"model2": {...}
}
其中{...}是文件使用module.exports导出的对象。
这是正确的做法吗?有没有更好的方法来解决这个问题?
如果这是正确的方法,我不知道如何使用gulp(创建索引文件)来实现它,所以任何指针都会非常感激。
谢谢,
里克多维
答案 0 :(得分:2)
Browserify只有一个入口点 - 然后它将沿着整个应用程序的依赖关系树向下走,并根据需要包含它们。
var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
gulp.task('browserify', function() {
var bundler = browserify({
entries: './js/main.js',
debug: true,
cache: {}
});
var rebundle = function() {
bundler
.bundle()
.pipe(source('bundle.js'))
.buffer()
.pipe(gulp.dest('./public'));
};
bundler.on('update', rebundle);
return rebundle();
});
gulp.task('default', ['browserify']);