使用ligthweight NPM依赖项构建angularjs应用程序的正确方法是什么?

时间:2017-05-05 12:33:58

标签: angularjs npm gulp

我正在开发一个angularjs应用程序。我正在使用npm来下载JS依赖项。 因此,我的所有依赖项都位于我的应用程序的node_modules文件夹中。这很好。

我现在想要发送我的应用程序,但是node_modules文件夹是巨大的~30M并且有很多我不在乎的重文件。 我的应用程序只包含js文件的缩小版本,例如node_modules/chart.js/dist/Chart.min.js

所以,我想知道如何使用已使用的缩小的js文件来构建我的应用程序以获得轻量级构建?

就我而言,我只关心js文件的缩小版本。 我不知道是否可能或在哪个方向挖掘?

我已经在我的项目中使用gulp来自动执行任务,如果有一个'gulp'方法可以做到这一点会很棒。

1 个答案:

答案 0 :(得分:0)

你可以运行两个新的gulp任务 第一个将所有节点js文件复制到目标目标。 第二个将js文件连接并缩小为单个文件。

var concat = require('gulp-concat');  
var rename = require('gulp-rename');  
var uglify = require('gulp-uglify'); 

var dest = 'destination/';
var concatSource = dest;
var concatDest = 'dist/scripts/'

gulp.task('copy-minified', [], function() {

    var paths = [
        [
            'node_modules/**/*.js'
        ]
    ];

    paths.forEach(function(path) {

        gulp.src(path)
            .pipe(
                gulp.dest(dest)
            );

    });

});

gulp.task('concatenate-into-on-file-and-minify', function() {  
    return gulp.src(concatSource)
        .pipe(concat('scripts.js'))
        .pipe(gulp.dest(concatDest))
        .pipe(rename('scripts.min.js'))
        .pipe(uglify())
        .pipe(gulp.dest(concatDest));
});