【问题标题】:Gulp generate index.js of all files in folderGulp 生成文件夹中所有文件的 index.js
【发布时间】:2015-06-21 03:22:07
【问题描述】:

我正在使用 gulp 和 browserify 开发一个 nodejs 项目。

我想在我的主 js 文件中包含一个我不知道文件名的模块文件夹。

我对如何解决这个问题的初步想法是:

  1. 运行 gulp 脚本为文件夹中的所有文件创建一个 index.js 文件

  2. 需要在browserify主文件中生成index.js文件

  3. 运行 browserify

例子:

目录结构:

/
  /models
    /model1.js
    /model2.js

所需的输出对象:

{
  "model1": {...},
  "model2": {...}
}

其中 {...} 是文件使用 module.exports 导出的对象。

这是正确的方法吗?有没有更好的方法来解决这个问题?

如果这是正确的方法,我不确定如何使用 gulp(创建索引文件)来实现它,所以任何指针都将不胜感激。

谢谢,

瑞克

【问题讨论】:

    标签: javascript node.js gulp browserify


    【解决方案1】:

    Browserify 只有一个入口点 - 然后它将沿着整个应用程序的依赖关系树向下走,并根据需要包含它们。

    假设你有一个这样的文件夹结构:

    • 公开
      • index.html
      • js
        • main.js
        • someother.js
        • 另一个.js

    你只想从你的 html 中包含一个名为 bundle.js 的 js 文件

    你的 gulpfile.js 看起来像这样。

    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']);
    

    【讨论】:

      猜你喜欢
      • 2015-02-16
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2023-04-04
      • 2017-01-08
      相关资源
      最近更新 更多