2016-01-22 151 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

相關問題