2017-12-13 24 views
0

私は一口を使用し、私は何をする必要があることは、私は私のクライアントにそのモジュールを使用することができるようにpublic/js/libNamedist/js/libNamenode_modluesフォルダ内の複数のネストされたディレクトリ内のすべてのファイルをバンドルすることであるのです。複数のファイルをgulpの入れ子ディレクトリにバンドルするにはどうすればよいですか?

dist 
    js 
node_modules 
    test_library 
     file1.js 
     file2.js 
     folder1 
      file1.js 
      file2.js 
     folder2 
      file3.js 
      file4.js   
public 
    js 
+0

あなたは一口を使用している場合は、きっとあなたの現在のconfigまたは何を試してみましたを共有することができますか? – Icepickle

+0

「束ねる」とはどういう意味ですか?一緒につなぎますか? webpackのようなものを使用しますか?私はそれが '一口-concat'と' browserify'で動作させることを試みたが、私は一つ一つすべてのこれらのファイルを追加する必要がありました@Icepickle –

+0

は、私はそれらを1つずつ追加しないと同時に、テストlibrary' 'のすべてをバンドルする必要があります一つ。 – DragonKnight

答えて

2

私は最近、同様のタスクをこのように解決:

が必要です:

のsrc/bundle_entrypoint.js(バンドルエントリポイント):

require('jquery'); 

// your code 

gulpfile:

// init base modules 

// additional modules 
var source = require('vinyl-source-stream'); 
var browserify = require('browserify'); 

// reg build tasks, etc 

gulp.task('build-bundle', function() {  
    return browserify({ 
     entries: 'src/bundle_entrypoint.js', 
     debug: true, 
     paths: ['./node_modules'], 
     cache: {}, 
     packageCache: {} 
    }) 
    .bundle() 
    .pipe(source('bundle.js')) 
    .pipe(uglifyOrWhateverYouWant()) 
    .pipe(gulp.dest('public/js/')) 
    .pipe(gulp.dest('dist/js/')); 
}); 

EDIT:

連結:

gulp.task('build-bundle', function() {  
     return gulp.src(['node_modules/test_library/**/*.js','src/my.js']) 
     .pipe(concat('bundle.js')) 
     .pipe(uglifyOrWhateverYouWant()) 
     .pipe(gulp.dest('public/js/')) 
     .pipe(gulp.dest('dist/js/')); 
    }); 
+0

node_modules/myModuleのすべてのjsファイルを読むには 'entries: '**/**。js' 、 '? – DragonKnight

+0

しかしそれは意味をなさない。 npmモジュールは既にdistフォルダに組み込まれているはずです。あなたはなぜサブディレクトリを通してすべてのjsを連結したいのですか? concatはこれらのファイルをwalkdirの順序でマージします。このサブツリーが複雑なライブラリを表す場合、その機能は中断されます。 – bigless

+0

npm install elasticsearchとbower install elasticsearchをインストールします。どちらも同じバージョンですが、特定のクエリの場合、bowerバージョンは結果を集計できませんが、npmバージョンは結果を集計します。だから基本的に私はクライアントの弾性検索イントロのノードバージョンを使用する必要があります。それでおしまい。 – DragonKnight

関連する問題