We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
下载难 /(版本)管理难
YUI Compressor:https://github.com/yui/yuicompressor Google Closure:https://code.google.com/p/closure-compiler/downloads/list jshint:http://www.jshint.com/ 其他:。。。
YUI Compressor:https://github.com/yui/yuicompressor
Google Closure:https://code.google.com/p/closure-compiler/downloads/list
jshint:http://www.jshint.com/
其他:。。。
环境依赖、平台依赖
YUI Compressor:JDK fiddler/qzmin:win平台 sass/compass:ruby
YUI Compressor:JDK
fiddler/qzmin:win平台
sass/compass:ruby
配置使用难:
系统参数设置 工具自己的命令、参数
系统参数设置
工具自己的命令、参数
grunt
曾经grunt是: 命令行工具+构建工具+脚手架工具+预定义任务
The Grunt command line interface. Note: The job of the grunt command is to load and run the version of Grunt you have installed locally to your project, irrespective of its version.
The Grunt command line interface.
Note: The job of the grunt command is to load and run the version of Grunt you have installed locally to your project, irrespective of its version.
The JavaScript Task Runner
Grunt-init is a scaffolding tool used to automate project creation.
步骤一:安装package
npm install
步骤二:运行任务
文件合并
grunt dist
js文件校验
grunt jshint
Gruntfile.js:必要
Grunt任务的主入口文件,主要作用在于任务的定义与配置
package.json
项目组件依赖的描述文件,非必要
方式一:grunt.initConfig
grunt.initConfig({ clean: { dev: [ 'dev/' ], }, jshint: { all: ['dist/js/**/*.js'] } });
方式二:grunt.config 接口
grunt.config.set('jshint', { all: ['dist/js/**/*.js'] }); grunt.task.run('jshint');
根据任务类型:
根据任务位置:
任务定义
grunt.task.registerTask('hello', '一个无聊的demo', function() { console.log( '大家好,我是grunt任务!'); });
运行任务
grunt hello
任务内部
grunt.registerMultiTask('inline', "同样是很无聊的demo", function() { var files = this.filesSrc; // 用户 files.forEach(function(filepath){ console.log( '输出文件路径:'+ filepath ); }; });
任务配置
grunt.initConfig({ 'inline': { test: { src: [$config.distPath+'**/*.html'] } } });
grunt inline
最常见,Gruntfile.js里定义,可满足绝大部分项目的需求
定义方式跟内部任务基本没区别,在Grungfile.js之外定义,用到的时候显式加载即可
加载插件:
grunt.loadNpmTasks('grunt-cdn');
加载自定义任务
grunt.task.loadTasks('proj-task/core');
grunt-inline作用:将html页面里的声明了__inline标记的<script>、<link>、<img>等变成内联资源,即:
<script>
<link>
<img>
例子:下面这段script标签,声明了__inline,构建阶段会被行内脚本替换
构建前
<script type="text/javascript" src="modules/common/js/nohost.js?__inline"></script>
构建后
<script> void function(){setTimeout(function(){var b=document.cookie.match(/(^| )nohost_guid=([^;]*)(;|$)/);if(!b?0:decodeURIComponent(b[2])){var b="/nohost_htdocs/js/SwitchHost.js?random="+Math.random(),c=function(a){try{eval(a)}catch(b){}window.SwitchHost&&window.SwitchHost.init&&window.SwitchHost.init()},a=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest;a.open("GET",b);a.onreadystatechange=function(){4==a.readyState&&((200<=a.status&&300>a.status||304===a.status||1223===a.status|| 0===a.status)&&c(a.responseText),a=null)};a.send(null)}},1500)}(); </script>
首先我们看下官方教程里参考教程:http://gruntjs.com/creating-plugins
下载脚手架工具grunt-init
grunt-init
npm install -g grunt-init
安装grunt插件模板
git clone git://github.com/gruntjs/grunt-init-gruntplugin.git ~/.grunt-init/gruntplugin
在任意空目录下运行grunt-init gruntplugin
grunt-init gruntplugin
运行npm install初始化开发环境
声明所有权:其实就是修改package.json里的name、version等字段
name
version
通过npm publish发布插件
npm publish
。。。(待填坑)
The text was updated successfully, but these errors were encountered:
很有用
Sorry, something went wrong.
@bigzhu 谢谢支持 :)
No branches or pull requests
Yeoman的好基友:Grunt
前端不能承受之痛
1、这是我们的生活
2、究竟痛在哪里
下载难 /(版本)管理难
环境依赖、平台依赖
配置使用难:
3、谁能拯救我们
问题一:grunt是什么
问题二:grunt是什么
曾经grunt是: 命令行工具+构建工具+脚手架工具+预定义任务
grunt-cli:
grunt:
grunt-init:
问题三:为什么使用grunt
哪些优势
demo演示:运行任务
步骤一:安装package
步骤二:运行任务
文件合并
js文件校验
grunt项目的要素
Gruntfile.js:必要
package.json
grunt我们需知道什么
grunt任务配置
方式一:grunt.initConfig
方式二:grunt.config 接口
grunt Task类型
根据任务类型:
根据任务位置:
grunt Task类型:根据任务类型
普通任务
插件任务
grunt Task类型:根据任务位置
内部任务
最常见,Gruntfile.js里定义,可满足绝大部分项目的需求
外部任务
定义方式跟内部任务基本没区别,在Grungfile.js之外定义,用到的时候显式加载即可
加载插件:
加载自定义任务
grunt-inline:一个自定义的grunt插件
grunt-inline作用:将html页面里的声明了__inline标记的
<script>
、<link>
、<img>
等变成内联资源,即:例子:下面这段script标签,声明了__inline,构建阶段会被行内脚本替换
构建前
构建后
grunt-inline:插件创建实战
首先我们看下官方教程里参考教程:http://gruntjs.com/creating-plugins
下载脚手架工具
grunt-init
安装grunt插件模板
在任意空目录下运行
grunt-init gruntplugin
运行
npm install
初始化开发环境声明所有权:其实就是修改package.json里的
name
、version
等字段通过
npm publish
发布插件进入实战
。。。(待填坑)
The text was updated successfully, but these errors were encountered: