Yeoman介绍
Yeoman是Google的团队和外部贡献者团队合作开发的,他的目标是通过Grunt(一个用于开发任务自动化的命令行工具)和Bower(一个HTML、CSS、Javascript和图片等前端资源的包管理器)的包装为开发者创建一个易用的工作流。
Yeoman主要有三部分组成:yo(脚手架工具)、grunt(构建工具)、bower(包管理器)。这三个工具是分别独立开发的,但是需要配合使用,来实现我们高效的工作流模式。
Yeoman工具包yo命令
yo插件都是通过npm, Node.js包管理器安装和管理的.
全局安装yo
如果你还没有安装grunt,bower,也需要一起安装
1
| npm install -g grunt-cli bower
|
Yeoman工具包bower,grunt的组合用法
有关bower的介绍,请参考:bower解决js的依赖管理
有关grunt的介绍,请参考:grunt让Nodejs规范起来
使用bower命令查看项目依赖:
1 2 3 4 5 6
| ~ D:\workspace\javascript\nodejs-yo>bower list bower check-new Checking for new versions of the project dependencies.. nodejs-yo ├── jquery ├── modernizr └── requirejs
|
我们发现生成的webapp中,有4个依赖库,jquery,modernizr,requirejs。
使用grunt命令执行单元测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| D:\workspace\javascript\nodejs-yo>grunt test Running "clean:server" (clean) task Cleaning ".tmp"...OK Running "concurrent:test" (concurrent) task Running "copy:styles" (copy) task Running "coffee:dist" (coffee) task Running "autoprefixer:dist" (autoprefixer) task File ".tmp/styles/main.css" created. Running "connect:test" (connect) task Starting connect web server on localhost:9000. Running "mocha:all" (mocha) task Testing: http://localhost:9000/index.html 1 test complete (107 ms) >> 1 passed! (0.11s) Done, without errors.
|
使用grunt命令启动一个node服务器
1
| ~ D:\workspace\javascript\nodejs-yo>grunt server --force
|
修改app/index.html代码,增加对canvas的检查。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| ~ vi app/index.html <script> window.onload = function () { if (canvasSupported()) { alert('canvas supported'); } }; function canvasSupported() { var canvas = document.createElement('canvas'); return (canvas.getContext && canvas.getContext('2d')); } </script>
|
Yeoman
Yeoman自动构建js项目
Yeoman:Web 应用开发流程与工具
Grunt-beginner前端自动化工具