我是靠谱客的博主 谨慎草莓,最近开发中收集的这篇文章主要介绍Grunt完整打包一个项目实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Grunt确实好用,配置好Gruntfile.js之后,一个命令就行云如流水,程序帮你搞定一切,爽歪歪。

我们先看压缩前的目录:

再看打包后的目录:

build是打包后的文件夹,main.css是压缩后的,build/js下的文件也是压缩后的,build下的html也是压缩后的,减少了很多人工打包的工作。

OK,来看下我们的核心Gruntfile.js文件,打包的流程配置都是在这个里面完成。

module.exports = function(grunt) {
// 项目配置

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
clean: { //清除目标文件下文件

payment: {
src: "payment/build"
}
},
copy: {
payment: {
expand: true,
cwd: 'payment/src',//源文件路径
src: '**',//源文件目录下的所有文件
dest: 'payment/build/',//目标文件路径,把源文件下的文件复制到该目录下
flatten: false,//用来指定是否保持文件目录结构
filter: 'isFile',
},
},
uglify: {//压缩js文件

payment: {
files: [{
expand: true,
cwd: 'payment/src/js', //js源文件目录
src: '*.js', //所有js文件
dest: 'payment/build/js' //输出到此目录下

}]
}
},
// sass: {
//
payment: {
//
files: [{
//
expand: true,
//
cwd: 'src',
//
src: ['*.scss'],
//
dest: 'payment/build',
//
ext: '.css'
//
}]
//
}
// },
cssmin: { //压缩css

payment: {
"files": {
'payment/build/css/main.css': ['payment/src/css/*.css']//将数组里面的css文件压缩成一个目标文件

}
}
},
htmlmin: { //压缩html

payment: {
options: { // Target options
removeComments: true,
collapseWhitespace: true
},
files: [{
expand: true, // Enable dynamic expansion.
cwd: 'payment/src', // Src matches are relative to this path.
src: ['*.html'], // Actual pattern(s) to match.
dest: 'payment/build/', // Destination path prefix.
ext: '.html', // Dest filepaths will have this extension.
extDot: 'first' // Extensions in filenames begin after the first dot

}]
}
}
});
// 加载提供"uglify"任务的插件
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-htmlmin');
// grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
// 默认任务
grunt.registerTask('payment', ['clean:payment','copy:payment', 'uglify:payment', 'cssmin:payment', 'htmlmin:payment']);
}

按照这个配置大家就可以自动化打包自己的项目咯。

转载于:https://www.cnblogs.com/hutuzhu/p/4539186.html

最后

以上就是谨慎草莓为你收集整理的Grunt完整打包一个项目实例的全部内容,希望文章能够帮你解决Grunt完整打包一个项目实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部