3

プロジェクトで browserify と browserify-shim を使用しており、gulp-browserify を使用して gulp を実行しています。

    gulp.src(['./resources/js/main.js'])
    .pipe(browserify({
        shim: {
            angular: {
                path: './node_modules/angular/angular.js',
                exports: 'angular'
            },
            'angular-animate': {
                path: './node_modules/angular-animate/angular-animate.js',
                exports: 'ngAnimate',
                depends: {
                    angular: 'angular',
                    jQuery: 'jQuery'
                }
            },
            [...]
        }
    }))
    .pipe(concat('app.js'))
    .pipe(gulp.dest('./web/js'));

このセットアップは正常に機能し、ほとんどの部分で意図したとおりに機能します。ただし、Browserify は、require() によって呼び出されるライブラリがない場合でも、常にすべての shimmedライブラリをビルドに含めます。

このトピックに関するドキュメントは存在しないようです。これを防ぐ方法はありますか?私には非常に直感に反するように思えます.ビルドには、実際に必要なものだけを含める必要があります。

(更新:napa/npmを使用してangularおよびその他のライブラリをインストールしました)

4

1 に答える 1