Grunt打包前端代码教程

2024-01-03 06:32

本文主要是介绍Grunt打包前端代码教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


详细教程

http://blog.csdn.net/wangfupeng1988/article/details/46418203/



过程:


1.安装node.js


2.兴建 Grunt项目
包含:
F:\App\grunt_test

package.json:

{"name": "grunt_test","version": "0.1.0","devDependencies": {"grunt": "^0.4.5","grunt-contrib-clean": "latest","grunt-contrib-concat": "^1.0.1","grunt-contrib-copy": "latest","grunt-contrib-cssmin": "^2.2.0","grunt-contrib-htmlmin": "latest","grunt-contrib-jshint": "^1.1.0","grunt-contrib-requirejs": "latest","grunt-contrib-sass": "*","grunt-contrib-uglify": "^3.0.0","grunt-contrib-watch": "*","grunt-cssc": "*","grunt-htmlhint": "*","grunt-usemin": "latest","matchdep": "*"},"main": "main.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "huzhao","license": "ISC"
}



Gruntfile.js:

module.exports = function(grunt) {grunt.initConfig({pkg: grunt.file.readJSON('package.json'),concat: {options: {separator: ';'},dist: {src: ['src/**/*.js'],dest: 'dist/<%= pkg.name %>.js'}},uglify: {options: {banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'},dist: {files: {'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']}}}});grunt.loadNpmTasks('grunt-contrib-uglify');grunt.loadNpmTasks('grunt-contrib-concat');grunt.registerTask('default', ['concat', 'uglify']);};



3.安装 Grunt及相关插件

cmd命令行

npm install grunt -g  //安装grunt,-g全局变量
npm install grunt-cli -g //安装grunt命令行
npm install grunt --save-dev  //安装grunt,--save-dev保存到安装目录
npm install grunt-cli --save-dev //安装grunt命令行
npm install grunt-contrib-jshint --save-dev //js语法检测插件
npm install grunt-contrib-concat --save-dev //js合并插件
npm install grunt-contrib-uglify --save-dev //js压缩插件
npm install grunt-contrib-cssmin --save-dev //CSS压缩插件 

4.实例学习:打包zepto

http://www.cnblogs.com/yexiaochai/p/3603389.html


1.在项目里新建src文件夹

放入要压缩的目标文件


2.cmd 执行 grunt命令


3.结果图


总结:

1.压缩文件路劲设置

Gruntfile.js里

2.压缩文件命名

package.json里

3.grunt 相关插件配置

package.json里


完整项目

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: { //压缩csspayment: {"files": {'payment/build/css/main.css': ['payment/src/css/*.css']//将数组里面的css文件压缩成一个目标文件}}},htmlmin: { //压缩htmlpayment: {options: { // Target optionsremoveComments: 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']);
}





这篇关于Grunt打包前端代码教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/564788

相关文章

html 滚动条滚动过快会留下边框线的解决方案

《html滚动条滚动过快会留下边框线的解决方案》:本文主要介绍了html滚动条滚动过快会留下边框线的解决方案,解决方法很简单,详细内容请阅读本文,希望能对你有所帮助... 滚动条滚动过快时,会留下边框线但其实大部分时候是这样的,没有多出边框线的滚动条滚动过快时留下边框线的问题通常与滚动条样式和滚动行

CnPlugin是PL/SQL Developer工具插件使用教程

《CnPlugin是PL/SQLDeveloper工具插件使用教程》:本文主要介绍CnPlugin是PL/SQLDeveloper工具插件使用教程,具有很好的参考价值,希望对大家有所帮助,如有错... 目录PL/SQL Developer工具插件使用安装拷贝文件配置总结PL/SQL Developer工具插

深入解析 Java Future 类及代码示例

《深入解析JavaFuture类及代码示例》JavaFuture是java.util.concurrent包中用于表示异步计算结果的核心接口,下面给大家介绍JavaFuture类及实例代码,感兴... 目录一、Future 类概述二、核心工作机制代码示例执行流程2. 状态机模型3. 核心方法解析行为总结:三

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv