构建具有轻量级NPM依赖项的angularjs应用程序的正确方法是什么?
我正在开发一个angularjs应用程序。我正在使用npm下载JS依赖项。 因此,我的所有依赖项都位于我的应用程序的构建具有轻量级NPM依赖项的angularjs应用程序的正确方法是什么?,angularjs,npm,gulp,Angularjs,Npm,Gulp,我正在开发一个angularjs应用程序。我正在使用npm下载JS依赖项。 因此,我的所有依赖项都位于我的应用程序的node\u modules文件夹中。这很好用 我现在想交付我的应用程序,但是node\u modules文件夹很大~30M,有很多我不在乎的沉重文件。 我的应用程序只是包含了js文件的简化版本,例如node\u modules/chart.js/dist/chart.min.js 因此,我想知道如何继续构建我的应用程序,仅使用缩小的js文件来获得轻量级构建 在我的例子中,我只关心
node\u modules
文件夹中。这很好用
我现在想交付我的应用程序,但是node\u modules
文件夹很大~30M,有很多我不在乎的沉重文件。
我的应用程序只是包含了js文件的简化版本,例如node\u modules/chart.js/dist/chart.min.js
因此,我想知道如何继续构建我的应用程序,仅使用缩小的js文件来获得轻量级构建
在我的例子中,我只关心js文件的缩小版本。
我不知道这是否可能,或者我应该朝哪个方向挖掘
我已经在我的项目中使用gulp来自动执行任务,如果有一种“gulp”方法可以做到这一点,那就太好了。您可以运行两个新的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));
});
您可以运行两个新的“吞咽”任务 第一个将把所有节点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));
});
好的,谢谢你的提示,但这不会在所有情况下都起作用,因为我的一些节点模块(如doe)没有附带缩小的js文件。@ben.IT我修改了我的答案。现在,我复制未缩小的js文件,将它们连接起来,然后缩小它们。注意,如果我们这样做,这将占用所有的.js文件,比如gruntfile.js,这不是预期的。但受你的启发,我在gulpfile的开头列出了一个数组,我的应用程序的依赖项由一个连接到一起的gulp任务连接在一个文件中,该任务连接在一起并使用uglify。好的,谢谢你的提示,但这不会在所有情况下都起作用,因为我的一些节点模块(例如,没有附带缩小的js文件)。@ben.IT我修改了我的答案。现在,我复制未缩小的js文件,将它们连接起来,然后缩小它们。注意,如果我们这样做,这将占用所有的.js文件,比如gruntfile.js,这不是预期的。但受你线索的启发,我在gulpfile开头的数组中列出了我的应用程序的依赖项,这些依赖项通过一个连接到一起的gulp任务连接在一个文件中,并且是丑陋的。