Yeoman主要有三部分组成:yo(脚手架工具)、grunt(构建工具)、bower(包管理器)。这三个工具是分别独立开发的,但是需要配合使用,来实现我们高效的工作流模式。...grunt-cli bower 使用 执行 yo webapp 我们就可以快速的创建一个新的Web应用的框架,一个通常的工作流程如下: ?...然后第一步,使用 yo 进行快速的初始化,初始化时会询问我们是否使用Bootstrap和RequireJS框架,我这里都选择了是。完成后一个Web应用的基础框架就建立好了。 ?...初始化的WebApp目录结构如下,app目录是我们项目的主目录,test目录中对应的一些JS的单元测试文件。 ? 注意我们需要安装黄色字体的提示,将npm和bower安装到项目本地。...最后的步骤就是编译生成项目了,执行 grunt 就可以将项目编译生成在 dist 目录下,有可能生成的时候会提示 phantomjs 没有的错误,这个时候执行 grunt --force 强制跳过这一步就可以了
'use strict'; module.exports = function(grunt) { var fs = require('fs'); // 构建的初始化配置 grunt.initConfig.../gruntjs/grunt-contrib-concat grunt.loadNpmTasks('grunt-text-replace'); //https://www.npmjs.com.../package/grunt-text-replace grunt.loadNpmTasks('grunt-html-build'); //https://github.com/...spatools/grunt-html-build // 注册刚配置好的任务 grunt.registerTask('replace-build-lib-js', ['concat:js_build...-- grunt占位,动态生成lib.js --> <!
npm install -g grunt-cli //全局安装grunt npm init -y //初始化package.json npm install grunt --save-dev...//在项目中安装grunt grunt --help //查看更多信息 grunt 安装完毕 新建Gruntfile.js 随便举得例子1: module.exports= function...(grunt) { grunt.registerTask('default', function () { console.log('aaaaaaaa'); /...(grunt) { grunt.registerTask('a', function (name) { grunt.log.writeln('hello'+name);...}); grunt.registerTask('b', function () { grunt.log.writeln('hello2') }); grunt.registerTask
npm install -g grunt-cli 切换到工程目录,安装3个nodejs模块 npm install grunt --save-dev npm install grunt-contrib-uglify...grunt.loadNpmTasks('grunt-contrib-uglify'); // 加载包含 "htmlmin" 任务的插件。...grunt.loadNpmTasks('grunt-contrib-htmlmin'); // 默认被执行的任务列表。...并且所有Grunt代码都必须指定在这个函数里面: module.exports = function(grunt) { // 在这里处理Grunt相关的事情 } 这个函数里面的内容一般会有一个项目配置...']); 然后就可以使用grunt task1:target1, grunt task2(这个会执行task2下的所有目标), grunt task3来执行了, 其中名称叫default的自定义任务比较特殊
Grunt生态圈里面有大量的插件,Grunt工具就是使用这些插件来实现自动化。 2. 如何安装Grunt Grunt通过npm命令来安装,所以需要首先安装npm。...之后通过npm安装grunt-cli,即Grunt command line interface。...其实安装完grunt-cli后,并没有安装grunt。...使用Grunt工具前需要准备哪些东西 按理来说,使用grunt命令,只需要有个Gruntfile就可以了,但是上文提到,grunt task runner需要在每个项目中单独安装,所以还得有个保存项目元数据的...('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.registerTask('default
您可以使用它来快速引导您的Angular webapp项目和搭建开发环境。...2.Yeoman生成脚手架项目目录 Yeoman团队也提供了一个angular生成器,开发团队可以通过yo angular生成一个angular项目脚手架,然后基于此脚手架来进行项目开发。...2.1 yo angular脚手架的优点 提供一个基本的SPA应用的基本框架 可以通过类似angular:filter命令创建不同的文件 集成了单元测试 集成了构建、测试和发布环境 添加了样式文件 2.2...yo angular脚手架的缺点 需要了解和使用yeoman,学习成本较高 构建工具使用的是Grunt,可能部分团队更趋向使用Gulp。
本篇就介绍下如何使用Grunt进行构建。 grunt安装 由于grunt依赖于nodejs,因此需要先安装nodejs。而安装grunt又需要使用npm包管理器。 ...使用npm命令安装grunt-cli,这是一款grunt的客户端程序。 ...命令如下: npm install -g grunt-cli 安装好后,进入项目目录,安装grunt: 命令如下: npm install grunt --save-dev 安装好后,就会出现如下的目录...这样就可以使用grunt了、 安装疑问 由于只能通过npm安装grunt,因此只能从镜像网站上下载。 但是当我通过代理上网时,安装npm install命令总是报错,很是无奈。
Grunt的三大主要组成部分: Grunt CLI Grunt Task Runner Grunt Plugins Grunt CLI 安装: npm install grunt-cli -g 上面的命令将全局安装...grunt-cli 包,这样在任何目录下都可以调用grunt命令。...Grunt CLI不包括grunt task runner。 要使用 grunt task runner,我们需要将其作为应用的开发依赖安装。...grunt和grunt-cli的分离确保每个团队的成员使用同一版本的grunt task runner。 Grunt Task Runner grunt命令会调用Grunt task runner。...接着我们加载了grunt-contrib-uglify插件。在运行grunt命令之前,确保插件已经安装。所有的grunt插件都可以通过npm安装。
所以,grunt前端必不可少。...以下内容分别是:grunt安装和配置grunt压缩一个js的实例分析grunt 美化、压缩、合并代码文件或者代码文件夹里所有代码文件的代码实例grunt的安装与配置grunt的安装grunt 依赖Node.js...注意:grunt-cli并不是grunt工具本身,只是安装了这个工具,而是用来调用和gruntfile.js同一目录的grunt。真正的grunt是安装在项目目录下面的。...最后,认识一下grunt一些基本的插件:合并文件:grunt-contrib-concat语法检查:grunt-contrib-jshintScss 编译:grunt-contrib-sass压缩文件:...grunt-contrib-uglify监听文件变动:grunt-contrib-watch建立本地服务器:grunt-contrib-connect这些插件都是grunt使用过程中最常用的。
安装 Grunt Grunt 依赖 Node.js 所以在安装之前确保你安装了 Node.js。(可在官网上下载)然后开始安装 Grunt。...实际上,安装的并不是 Grunt,而是 Grunt-cli,也就是命令行的 Grunt,这样你就可以使用 grunt 命令来执行某个项目中的 Gruntfile.js 中定义的 task 。...安装 Grunt-cli 需要使用 NPM,使用下面一行即可在全局范围安装 Grunt-cli ,换句话说,就是你可以在任何地方执行 grunt 命令: npm install -g grunt-cli...grunt-contrib-sass grunt-contrib-uglify grunt-contrib-watch grunt-contrib-connect 等待一大串乱七八糟的下载状态,我们把...'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.registerTask
/grunt-contrib-clean grunt-contrib-copy 复制文件和文件夹 https://github.com/gruntjs/grunt-contrib-copy grunt-contrib-concat.../FWeinb/grunt-svgstore grunt-csscomb (CSS)格式化 https://github.com/csscomb/grunt-csscomb grunt-contrib-less...grunt-contrib-htmlmin (HTML文件)压缩 https://github.com/gruntjs/grunt-contrib-htmlmin grunt-filerev 文件内容...hash(MD5) https://github.com/yeoman/grunt-filerev grunt-filerev-replace 替换通过grunt-filerev的文件引用 https:...require('load-grunt-tasks')(grunt); /* 统计各个任务执行时间 */ require('time-grunt')(grunt); }; 示例
": "^0.4.5", "grunt-contrib-concat": "^1.0.1", "grunt-contrib-connect": "^1.0.2", "grunt-contrib-copy...('grunt-contrib-less'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-copy...'); grunt.loadNpmTasks('grunt-contrib-imagemin'); grunt.loadNpmTasks('grunt-contrib-jshint');...grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks...('grunt-contrib-connect'); grunt.loadNpmTasks('grunt-contrib-htmlmin'); grunt.registerTask('
通过本篇你可以了解到: 1 grunt-cli的执行原理 2 nodeJS中模块的加载过程 Grunt-cli原理 grunt-cli其实也是Node模块,它可以帮助我们在控制台中直接运行grunt命令...因此当你使用grunt的时候,往往都是先安装grunt-cli,再安装grunt。...当执行grunt命令时,会默认先去全局的grunt-cli下找grunt-cli模块,而不会先走当前目录下的node_modules的grunt-cli。...看grunt-cli程序的最上面,可以发现grunt-cli是通过同步的方式查找grunt的。 sync就是标准的node模块了: var core = require('....结论 因此,如果你同时安装了本地的grunt-cli、grunt和全局的grunt-cli、grunt,就不会纳闷为什么grunt-cli执行的是全局的、而grunt执行的是当前目录下的node_modules
之前博客中大致描述过“前端自动化构建工具Grunt”及“grunt[mismatched:define]”等信息。...通过npm install grunt --save-dev 安装grunt依赖; C....grunt.loadNpmTasks('grunt-contrib-copy'); 可以通过“load-grunt-tasks”进行一次性载入所有插件,无需依依引入。...require('load-grunt-tasks')(grunt); 4....可以通过插件“time-grunt”进行统计每个Task执行时间 require('time-grunt')(grunt);
zombie.js 构造浏览器进行测试(headless browser) uiTest 前端UI测试框架 项目管理 grunt javascript 任务管理器。...可以做很多任务:如脚本验证(grunt-contrib-jshint),脚本,样式压缩(grunt-contrib-uglify),脚本合并(grunt-contrib-concat),编译coffee...(grunt-contrib-coffee),编译less,sass等。...bower 包管理工具 yo 项目的框架生成工具 yeoman 开发web工作流管理工具 YO,Grunt,Bower 组成 预编译 coffeescript 将coffeescript编译成
开发者们都知道在高端智能手机系统中有两种应用程序:一种是基于本地(操作系统)运行的APP;一种是基于高端机的浏览器运行的WebApp,本文将主要讲解后者。...webapp的布局方式和技术。...11、如何检测用户是通过主屏启动你的webapp 看过Apple webapp API的同学都知道iOS为safari提供了一个将当前页面添加主屏的功能,按下 iphoneipodipod touch...从主屏启动的webapp和浏览器访问你的webapp最大的区别 是它清除了浏览器上方和下方的工具条,这样你的webapp就更加像是nativeapp了,还有一个区别是window对像中的navigator...这个属性获知用户当前是否是从主屏访 问我们的webapp的。
最近写了两个Grunt插件(grunt-htmlstamp 和 grunt-file-modify),已经用在自己的项目中,用得很开心。...安装 grunt-cli 根据 Grunt 官方的文档 ,打开 cmd 命令窗口,输入 npm install -g grunt-cli 进行安装。...安装 grunt-init 通过 npm install -g grunt-init 命令安装 grunt-init 。 2....执行 npm install -g yo 即安装了Yeoman,并且执行 yo --version 来确定是否安装成功。 2....执行 yo gruntplugin 在 cmd 中,cd 到 D:\code\grunt-mytest ,执行 yo gruntplugin ,将出现交互式问答,一步一步进行即可。
随便取一个希望的名字 将JavaScript file设置到当前nodejs安装的grunt-cli路径下grunt运行文件。如下图 ? 然后运行这个任务即可进行grunt调试。...例如grunt dev。就在这增加一个dev参数。
安装 grunt-cli 根据 Grunt 官方的文档 ,打开 cmd 命令窗口,输入 npm install -g grunt-cli 进行安装。...按照约定,Grunt 插件是以 grunt- 开头命名,但要注意: "grunt-contrib" 命名空间保留给 Grunt 团队维护的task使用,我们要避免使用; 确定好名字之后,请在 npm 官网...安装 grunt-init 通过 npm install -g grunt-init 命令安装 grunt-init 。 2....执行 npm install -g yo 即安装了Yeoman,并且执行 yo --version 来确定是否安装成功。 2....执行 yo gruntplugin 在 cmd 中,cd 到 D:\code\grunt-mytest ,执行 yo gruntplugin ,将出现交互式问答,一步一步进行即可。
一、HBuilder调试webapp步骤 官网:http://www.dcloud.io/ ?
领取专属 10元无门槛券
手把手带您无忧上云