SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Grunt
基于任务的命令行构建工具
开始
发音:[ɡrʌnt]
网站:http://gruntjs.com/
Github:https://github.com/gruntjs
Wiki: https://github.com/gruntjs/grunt/wiki/Getting-started
使用:jQuery, bootstrap, yui, pure …
任务
• JSHint 检测代码质量
• Concat 合并
• Copy 复制
• Minify 压缩
• Qunit 单元测试
• Source map 调试
准备
• Nodejs
• NPM
安装
• the CLI
• grunt-init
• grunt-plugins
• templates
安装全局命令
> npm install –g grunt-cli
作用:执行Grunt任务
将grunt命令添加到Path路径,在任何目录都可运行。
安装 grunt-init
> npm install –g grunt-init
作用:通过使用模板使项目创建实现自动化
安装插件
> npm install grunt-contrib-jshint --save-dev
> npm install grunt-contrib-qunit --save-dev
> npm install grunt-contrib-concat --save-dev
> npm install grunt-contrib-uglify --save-dev
> npm install grunt-contrib-watch --save-dev
安装模板
模板会依赖当前环境或使用一些提问来建立整个项目的目录结构
可以使用现有的模板或自定义模板
grunt-init-gruntfile, grunt-init-gruntplugin.
使用模板创建Grunt项目
> grunt-init [template]
模板存放在 home 目录的 .grunt-init 文件夹下,可以使用git来安装
> git clone https://github.com/gruntjs/grunt-init-gruntfile.git ~/.grunt-init/gruntfile
准备一个新项目
在项目根目录下创建两个文件
• Gruntfile Gruntfile.js 或者 Gruntfile.coffee
• Package.json
Gruntfile
> grunt-init gruntfile
• 配置或定义任务
• 加载Grunt插件
Gruntfile 结构
Gruntfile一般包括以下部分:
• 外层包装函数
module.exports = function(grunt) {};
• 项目和任务配置
grunt.initConfig(/* config */)
• 加载插件和任务
grunt.loadNpmTasks(/* plugins */)
• 自定义任务
grunt.registerTask(/* default tasks */)
package.json
> npm init
• 存放项目信息,作为NPM模块发布
• 被Gruntfile依赖,读取项目有关配置和信息
使用Grunt
• 切换至项目根目录
> cd
• 安装依赖
> npm install
• 运行Grunt
> grunt
</thanks>

Weitere ähnliche Inhalte

Was ist angesagt?

20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門azole Lai
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹Philip Zheng
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探仲昀 王
 
在 Qnap iot suite 中 安裝 webduino 模組
在 Qnap iot suite 中 安裝 webduino 模組 在 Qnap iot suite 中 安裝 webduino 模組
在 Qnap iot suite 中 安裝 webduino 模組 mingzeke
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践YuLing Liu
 
Git 入門與實作
Git 入門與實作Git 入門與實作
Git 入門與實作奕浦 郭
 
資訊創意課程 - Create A Personal Website 1
資訊創意課程 - Create A Personal Website 1資訊創意課程 - Create A Personal Website 1
資訊創意課程 - Create A Personal Website 1均民 戴
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養Philip Zheng
 
Xcode 的 git 版本管理
Xcode 的 git 版本管理Xcode 的 git 版本管理
Xcode 的 git 版本管理彼得潘 Pan
 
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境均民 戴
 
20170905 dev ops in hiiir
20170905 dev ops in hiiir20170905 dev ops in hiiir
20170905 dev ops in hiiirIsaac Tseng
 
SQL Server 資料庫版本控管
SQL Server 資料庫版本控管SQL Server 資料庫版本控管
SQL Server 資料庫版本控管Will Huang
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台Bo-Yi Wu
 
Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战icy leaf
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學littlebtc
 

Was ist angesagt? (20)

20150604 docker 新手入門
20150604 docker 新手入門20150604 docker 新手入門
20150604 docker 新手入門
 
GCP 的應用
GCP 的應用GCP 的應用
GCP 的應用
 
容器式基礎架構介紹
容器式基礎架構介紹容器式基礎架構介紹
容器式基礎架構介紹
 
認識那條鯨魚 Docker 初探
認識那條鯨魚   Docker 初探認識那條鯨魚   Docker 初探
認識那條鯨魚 Docker 初探
 
在 Qnap iot suite 中 安裝 webduino 模組
在 Qnap iot suite 中 安裝 webduino 模組 在 Qnap iot suite 中 安裝 webduino 模組
在 Qnap iot suite 中 安裝 webduino 模組
 
Docker 最佳实践
Docker 最佳实践Docker 最佳实践
Docker 最佳实践
 
Git 入門與實作
Git 入門與實作Git 入門與實作
Git 入門與實作
 
資訊創意課程 - Create A Personal Website 1
資訊創意課程 - Create A Personal Website 1資訊創意課程 - Create A Personal Website 1
資訊創意課程 - Create A Personal Website 1
 
Docker應用
Docker應用Docker應用
Docker應用
 
Gulp
GulpGulp
Gulp
 
企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養企業導入容器經驗分享與開源技能培養
企業導入容器經驗分享與開源技能培養
 
Xcode 的 git 版本管理
Xcode 的 git 版本管理Xcode 的 git 版本管理
Xcode 的 git 版本管理
 
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
 
Docker基礎
Docker基礎Docker基礎
Docker基礎
 
Git
GitGit
Git
 
20170905 dev ops in hiiir
20170905 dev ops in hiiir20170905 dev ops in hiiir
20170905 dev ops in hiiir
 
SQL Server 資料庫版本控管
SQL Server 資料庫版本控管SQL Server 資料庫版本控管
SQL Server 資料庫版本控管
 
用 Drone 打造 輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台用 Drone 打造輕量級容器持續交付平台
用 Drone 打造 輕量級容器持續交付平台
 
Git 入门实战
Git 入门实战Git 入门实战
Git 入门实战
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學
 

Andere mochten auch

Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009
Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009
Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009National and University Library
 
Telematics Munich 2012
Telematics Munich 2012Telematics Munich 2012
Telematics Munich 2012RoryTelematics
 
Session 49 david gundlegård
Session 49 david gundlegårdSession 49 david gundlegård
Session 49 david gundlegårddavgu
 
Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...
Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...
Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...National and University Library
 
Professional ethics with values education
Professional ethics with values educationProfessional ethics with values education
Professional ethics with values educationLauriz Aclan
 

Andere mochten auch (7)

Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009
Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009
Digital image processing / Procesiranje digitalnih slik / 2. 9. 2009
 
Telematics Munich 2012
Telematics Munich 2012Telematics Munich 2012
Telematics Munich 2012
 
Session 49 david gundlegård
Session 49 david gundlegårdSession 49 david gundlegård
Session 49 david gundlegård
 
Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...
Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...
Presentation of the EOD - eBooks on demand project / Predstavitev projekta EO...
 
Contents
ContentsContents
Contents
 
Dps
DpsDps
Dps
 
Professional ethics with values education
Professional ethics with values educationProfessional ethics with values education
Professional ethics with values education
 

Ähnlich wie Grunt

Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹wantingj
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程Simon Su
 
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkitLainZQ
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計Amigo 陳兆祥
 
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...Laird Cheng
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on praticeKenny (netman)
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具國昭 張
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & WindowsChu-Siang Lai
 
CP 值很高的 Gulp
CP 值很高的 GulpCP 值很高的 Gulp
CP 值很高的 GulpYvonne Yu
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationnetdbncku
 
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Will Huang
 
Bitbucket pipeline CI
Bitbucket pipeline CIBitbucket pipeline CI
Bitbucket pipeline CIZero Huang
 
Clojure cnclojure-meetup
Clojure cnclojure-meetupClojure cnclojure-meetup
Clojure cnclojure-meetupsunng87
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索Will Huang
 
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)JoXuZi
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用Philip Zheng
 
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle淺談 Groovy 與 Gradle
淺談 Groovy 與 GradleJustin Lin
 
2, installation
2, installation2, installation
2, installationted-xu
 
版本控制 使用Git & git hub
版本控制   使用Git & git hub版本控制   使用Git & git hub
版本控制 使用Git & git hub維佋 唐
 

Ähnlich wie Grunt (20)

Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
 
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
 
以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計以Code igniter為基礎的網頁前端程式設計
以Code igniter為基礎的網頁前端程式設計
 
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
 
Linux network monitoring hands-on pratice
Linux network monitoring hands-on praticeLinux network monitoring hands-on pratice
Linux network monitoring hands-on pratice
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具
 
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
現代 IT 人一定要知道的 Ansible 自動化組態技巧 Ⅱ - Roles & Windows
 
CP 值很高的 Gulp
CP 值很高的 GulpCP 值很高的 Gulp
CP 值很高的 Gulp
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
 
Bitbucket pipeline CI
Bitbucket pipeline CIBitbucket pipeline CI
Bitbucket pipeline CI
 
Clojure cnclojure-meetup
Clojure cnclojure-meetupClojure cnclojure-meetup
Clojure cnclojure-meetup
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
Scrum gathering 2012 Shanghai_精益与持续改进分会场演讲话题: 大型企业ci平台建设和实施分享(陈小光)
 
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
 
淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle淺談 Groovy 與 Gradle
淺談 Groovy 與 Gradle
 
2, installation
2, installation2, installation
2, installation
 
scriptcs 簡介
scriptcs 簡介scriptcs 簡介
scriptcs 簡介
 
版本控制 使用Git & git hub
版本控制   使用Git & git hub版本控制   使用Git & git hub
版本控制 使用Git & git hub
 

Grunt