没有合适的资源?快使用搜索试试~ 我知道了~
首页Grunt中文指南:自动化构建工具的Node.js入门
Grunt中文文档详细介绍了Grunt这一强大的JavaScript构建工具,它在开发过程中用于自动化管理和执行常见的开发任务,如代码压缩、编译、单元测试和代码质量检查等,以提高开发效率和代码质量。Grunt的核心理念是自动化,通过npm(Node.js的包管理器)进行安装和管理,确保与Node.js 0.8.0及以上稳定版本兼容,特别强调了奇数版本的Node.js可能不适用于生产环境。 文档首先强调了Grunt的安装步骤,建议在安装前确保npm已更新至最新版本,可能需要管理员权限。对于使用旧版Grunt 0.3的用户,文档提供了迁移指南。安装Grunt CLI(命令行接口)是进行后续操作的基础,它允许在系统路径中执行Grunt命令,而无需全局安装Grunt本身,这使得在同一系统上可以管理多个版本的Grunt成为可能。 Gruntfile是Grunt的核心配置文件,通过定义任务和依赖关系,开发者可以自定义项目的构建流程。文档推荐从Gruntfile实例和任务配置开始学习,以便理解如何编写和使用Grunt任务。Grunt的生态系统非常活跃,丰富的插件库使其几乎能处理任何开发过程中的任务,甚至鼓励用户自创插件并发布到npm,进一步扩展其功能。 Grunt作为一个高度可扩展和灵活的构建工具,通过自动化和模块化的特性,极大地简化了开发者的工作流程,提高了开发效率。无论是初次接触还是深入学习,这份文档都是理解和掌握Grunt的重要资源。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/10488519/bg6.jpg)
npminstallgrunt--save-dev
同样,grunt插件和其它node模块都可以按相同的方式安装。下面展示的实例就是安装JSHint任务模
块:
npminstallgrunt-contrib-jshint--save-dev
在Grunt插件页面可以看到当前可用的Grunt插件,他们可以直接在项目中安装并使用。
安装插件之后,请务必确保将更新之后的 package.json 文件提交到项目仓库中。
Gruntfile
Gruntfile.js 或 Gruntfile.coffee 文件是有效的JavaScript或CoffeeScript文件,应当放在
你的项目根目录中,和 package.json 文件在同一目录层级,并和项目源码一起加入源码管理器。
Gruntfile由以下几部分构成:
"wrapper"函数
项目与任务配置
加载grunt插件和任务
自定义任务
Gruntfile文件案例
在下面列出的这个 Gruntfile 中, package.json 文件中的项目元数据(metadata)被导入到
Grunt配置中,grunt-contrib-uglify插件中的 uglify 任务(task)被配置为压缩(minify)源码文
件并依据上述元数据动态生成一个文件头注释。当在命令行中执行 grunt 命令时, uglify 任务将被
默认执行。
module.exports=function(grunt){
//Projectconfiguration.
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
uglify:{
options:{
banner:'/*!<%=pkg.name%><%=grunt.template.today("yyyy-mm-dd")%>*/\n'
},
build:{
src:'src/<%=pkg.name%>.js',
dest:'build/<%=pkg.name%>.min.js'
}
}
});
//加载包含"uglify"任务的插件。
grunt.loadNpmTasks('grunt-contrib-uglify');
快速入门
-6-本文档使用看云构建
![](https://csdnimg.cn/release/download_crawler_static/10488519/bg7.jpg)
//默认被执行的任务列表。
grunt.registerTask('default',['uglify']);
};
前面已经向你展示了整个 Gruntfile ,接下来将详细解释其中的每一部分。
"wrapper"函数
每一份 Gruntfile (和grunt插件)都遵循同样的格式,你所书写的Grunt代码必须放在此函数内:
module.exports=function(grunt){
//Dogrunt-relatedthingsinhere
};
项目和任务配置
大部分的Grunt任务都依赖某些配置数据,这些数据被定义在一个object内,并传递给
grunt.initConfig方法。
在下面的案例中, grunt.file.readJSON('package.json') 将存储在 package.json 文件中的
JSON元数据引入到gruntconfig中。由于 <%%> 模板字符串可以引用任意的配置属性,因此可以通过
这种方式来指定诸如文件路径和文件列表类型的配置数据,从而减少一些重复的工作。
你可以在这个配置对象中(传递给initConfig()方法的对象)存储任意的数据,只要它不与你任务配置所需的
属性冲突,否则会被忽略。此外,由于这本身就是JavaScript,你不仅限于使用JSON;你可以在这里使用
任意的有效的JS代码。如果有必要,你甚至可以以编程的方式生成配置。
与大多数task一样,grunt-contrib-uglify插件中的 uglify 任务要求它的配置被指定在一个同名属性
中。在这里有一个例子,我们指定了一个 banner 选项(用于在文件顶部生成一个注释),紧接着是一个单
一的名为 build 的uglify目标,用于将一个js文件压缩为一个目标文件。
//Projectconfiguration.
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
uglify:{
options:{
banner:'/*!<%=pkg.name%><%=grunt.template.today("yyyy-mm-dd")%>*/\n'
},
build:{
src:'src/<%=pkg.name%>.js',
dest:'build/<%=pkg.name%>.min.js'
}
}
});
加载Grunt插件和任务
像concatenation、[minification]、grunt-contrib-uglify和linting这些常用的任务(task)都已经以
grunt插件的形式被开发出来了。只要在 package.json 文件中被列为dependency(依赖)的包,并
快速入门
-7-本文档使用看云构建
剩余30页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/44416a1f62b44ccfb9516c2a232081bf_jgh1023360745.jpg!1)
黄小俊
- 粉丝: 3
- 资源: 11
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 岩石滑动与断层冲击地压:声发射特征分析
- 新时代煤炭工业八大战略新取向剖析
- 开采强度对华亭矿区冲击地压危险性的影响分析
- 新安煤矿探采对比:影响安全生产的关键因素与技术支撑
- 210MW循环流化床锅炉引风机变频改造优化与节能效果
- 浅埋煤层开采沉陷预测:方法应用与影响分析
- 优化巷道过陷落柱支护方案:数值模拟与现场试验
- 坚硬顶板定向断裂爆破技术:安全高效采煤新方案
- 北航2019算法课作业解析:投资策略与凸子多边形优化
- 断层破碎带垮冒下堆积体边界抗力分布关键影响因素
- 哈拉沟选煤厂优化末煤系统提高效率与处理能力
- 瓦斯涌出影响下采动煤体蠕变失稳研究
- 提升煤矿装载效率的可控箕斗定量装载设备设计
- 水分调控下烟煤瓦斯吸附特性对比研究
- 重介质悬浮液密度控制硬件设计与选型探讨
- 坚硬顶板巷道支护参数设计:现场测试与数值分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)