一、contrib-concat 插件的使用
西湖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
1、安裝 “grunt-contrib-concat ”插件命令(在終端進(jìn)入到項(xiàng)目根目錄執(zhí)行)
npm install grunt-contrib-concat --save-dev
2、在項(xiàng)目根目錄下提供 concat插件任務(wù)配置需要的 src 目錄和需要被合并的源文件(合并源文件放置到 src 目錄下)
mkdir src
3、在 Gruntfile.js 文件中對(duì) concat 任務(wù)進(jìn)行配置(把多個(gè)文件合并成一個(gè)文件)
// 包裝函數(shù)
module.exports = function (grunt) {
// 任務(wù)配置,所有插件的配置信息
grunt.initConfig({
// 獲取 package.json 的信息
pkg: grunt.file.readJSON('package.json'),
// concat 插件的配置信息
concat: {
options: {
separator: ';', // 設(shè)置輸出文件合并的字符
banner: '/*被合成的文件第一行內(nèi)容說明文字信息*/',
footer: '/*被合成的文件尾部?jī)?nèi)容說明文字信息*/',
stripBanners: true // 去掉被合成的文件內(nèi)容中的 /* */ 注釋信息
},
// 具體任務(wù)配置
dist: {
// 被合并的文件路徑
src: ['src/zepto.js','src/jquery.js'],
// 被合成的文件路徑
dest: 'dest/libs.js'
}
}
});
// 加載指定插件任務(wù)
grunt.loadNpmTasks('grunt-contrib-concat');
// 默認(rèn)執(zhí)行的任務(wù)
grunt.registerTask('default', ['concat']);
};
4、在 Gruntfile.js 文件中對(duì) concat 任務(wù)進(jìn)行配置(把多個(gè)指定文件分別合并成一個(gè)文件)
// 包裝函數(shù)
module.exports = function (grunt) {
// 任務(wù)配置,所有插件的配置信息
grunt.initConfig({
// 獲取 package.json 的信息
pkg: grunt.file.readJSON('package.json'),
// concat 插件的配置信息
concat: {
options: {
separator: ';', // 設(shè)置輸出文件合并的字符
banner: '/*被合成的文件第一行內(nèi)容說明文字信息*/',
footer: '/*被合成的文件尾部?jī)?nèi)容說明文字信息*/',
stripBanners: true // 去掉被合成的文件內(nèi)容中的 /* */ 注釋信息
},
// 具體任務(wù)配置
basic: {
// 被合并的文件路徑
src: ['src/zepto.js','src/jquery.js'],
// 被合成的文件路徑
dest: 'dest/basic.js'
},
extras: {
// 被合并的文件路徑
src: ['src/underscore.js','src/backbone.js'],
// 被合成的文件路徑
dest: 'dest/extras.js'
}
}
});
// 加載指定插件任務(wù)
grunt.loadNpmTasks('grunt-contrib-concat');
// 默認(rèn)執(zhí)行的任務(wù)
grunt.registerTask('default', ['concat']);
};
5、把多個(gè)指定文件分別合并成一個(gè)文件的另一種寫法
// 包裝函數(shù)
module.exports = function (grunt) {
// 任務(wù)配置,所有插件的配置信息
grunt.initConfig({
// 獲取 package.json 的信息
pkg: grunt.file.readJSON('package.json'),
// concat 插件的配置信息
concat: {
options: {
separator: ';', // 設(shè)置輸出文件合并的字符
banner: '/*被合成的文件第一行內(nèi)容說明文字信息*/',
footer: '/*被合成的文件尾部?jī)?nèi)容說明文字信息*/',
stripBanners: true // 去掉被合成的文件內(nèi)容中的 /* */ 注釋信息
},
// 具體任務(wù)配置
build: {
files: {
'dest/basic.js': ['src/zepto.js','src/jquery.js'], // 這里是主要修改的地方
'dest/extras.js': ['src/underscore.js','src/backbone.js']
}
}
}
});
// 加載指定插件任務(wù)
grunt.loadNpmTasks('grunt-contrib-concat');
// 默認(rèn)執(zhí)行的任務(wù)
grunt.registerTask('default', ['concat']);
};
PS:concat 插件的配置有兩項(xiàng):
“options”中通過使用“separator”屬性來指定被合成文件合并的字符,即在被合成文件中以什么符號(hào)來分隔多個(gè)被合并文件的內(nèi)容。
“build”中配置了被合并和被合成的文件路徑。即規(guī)定了那些文件是被合并文件?合并之后的合成文件的存放路徑。
6、最后在終端運(yùn)行 grunt 命令
PS:如果提示 "Done, without errors." 證明就沒什么問題了,現(xiàn)在去項(xiàng)目根目錄下看是否已經(jīng)生成了存放合并文件的目錄和被合成的目標(biāo)文件。