2016-01-22 111 views
-1

我在需要加载的所有页面上有大约40个JS文件。如何将多个js文件合并到1个JS文件中,以便减少http请求。将多个JS文件合并为1个JS文件

+0

例如在Linux中:'找到。 -type f -name'* .js'-exec cat {} + >> combined.js',windows:'type * .js> combined.js' – pawel

+0

您是否在询问有关自动执行此操作的构建或部署工具同时保持源文件独立于正在进行的开发工作? – nnnnnn

+0

不确定你的环境,但你可以使用*捆绑*工具。将文件捆绑到一个电话中。 –

回答

2

最好的方法是使用任务跑步者,如吞咽。了解更多关于如何安装它here

下将在./assets/js目录中的所有文件.js合并成一个文件中./public/js目录。

// Require gulp 
var gulp = require('gulp'); 

// Require plugins 
var concat = require('gulp-concat'); 


gulp.task('scripts', function() { 
    return gulp.src(['./assets/js/*.js']) 
     .pipe(concat('main.min.js')) 
     .pipe(gulp.dest('./public/js')); 
}); 

然后,可以从项目目录中运行该脚本在命令行gulp scripts

+0

这当然需要安装node.js! –

+1

@ChaudhryJunaid它确实值得它,但请将您的请求从40降低到1! – winseybash

-1

使用像Gulp或Grunt这样的自动化工具来连接,缩小,构建源映射,并且使用源执行所有您想要的操作。样本构建脚本是这样的:

var gulp  = require('gulp'), 
    concat  = require('gulp-concat'), 
    sourcemaps = require('gulp-sourcemaps'); 

gulp.task('build-js', function() { 
    return gulp.src('source/javascript/**/*.js') 
    .pipe(sourcemaps.init()) 
    .pipe(concat('bundle.js')) 
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('public/assets/javascript')); 
}); 

后,您需要的一切运行gulp build-js

+0

我无法理解任何解决方案......任何人都可以帮助我解决这个问题。 – Codeshow

相关问题