Yeoman 是一个通用的脚手架系统允许创建任何的 app 。它可以迅速的搭建一个新项目,并且能够简化了现有项目的维护。
Yeoman 构建的项目与语言无关。 它可以构建任何语言的项目 (Web, Java, Python, C#, 等。)
Yeoman 它自己不能做任何操作。 每个操作都是由 generators 基本插件在 Yeoman 环境所完成的。 这里有 很多公共的 generators 并且它很容易 创建一个 generator 去匹配任何工作流。 Yeoman 总是可以为你需要的脚手架工具作出正确的选择。
这里有一些常见的用例:
- 快速的创建一个新项目
- 创建一个项目的新的部分,就像一个单元测试的新控制器
- 创建一个模块或者一个包
- 响应一个新的服务
- 强化标准,最佳实践和风格指南
- 通过让用户开始使用一个示例应用程序,促进新项目
- 等等
起步
yo
是 Yeoman 命令行工具,它允许项目利用脚手架模板来创建。 (在 generators 提到过). Yo 和 generators 的使用常用 npm 来安装。
安装 yo 和 一些 generators
第一件事情就是使用 npm
来安装 yo
:
npm install -g yo
然后安装需要的 generator(s)。 Generators 是一个名字为 generator-XYZ
的 npm 包。 你可以在 我们的网站找到它们或者使用 "install a generator" 按钮选项来选择,然后去跑 yo
。 去安装这个 webapp
generator:
npm install -g generator-webapp
新的节点和 npm 用户可能会遇到权限问题,这个问题将会在安装的时候以 EACCESS
错误的形式展示。如果你出现了错误可以参考这篇文章 npm guide to fix permissions 。
npm 是 Node.js 的一个包管理工具并且安装的时候会绑定在一起。
在 Windows 上, 我们建议使用更好的命令行工具, 例如 cmder
或者 PowerShell 来提升你的编码体验。
脚手架基础
我们将使用 generator-webapp
在下面的实例中。 替换 webapp
在你的 generator 名字中是同样的结果。
脚手架搭建一个新的项目:
yo webapp
大多数 generators 将会问一系列的问题来定制一个新项目。使用 help
命令可以查看这些可以获取的选项:
yo webapp --help
很多 generators 会依靠构建系统 (像 Grunt 和 Gulp),和一些包管理工具 (像 npm 和 Bower)。确保你的新 app 能够跑通并且易维护,你应该去 generator 的站点了解一下。访问一个 generator 的首页很容易:
npm home generator-webapp
Generators 去搭建复杂的框架就像提供额外的 generators 去搭建一个项目的小部分。这些 generators 就是我们通常提到的 sub-generators ,并且它们的访问可以用 generator:sub-generator
。
拿 generator-angular
来作为一个例子。一旦一个完整的 angular app 被构建,其它的特性也能被加入。如果在这个项目中去加入一个新的控制器,可以运行控制器的 sub-generator:
yo angular:controller MyNewController
yo 其它的一些命令
除了前一部分所涉及的基本知识,yo
也是一个充分的交互工具,简单的在命令面板中打印 yo
将提供一个列表选项去管理关于 generators 的所有事情:run, update, install, help 和其它的功能。
Yo 也能提供下面这些命令。
yo --help
访问完整的帮助文档yo --generators
列出所有已经安装的 generatorsyo --version
得到它的版本
故障排除
大多数问题可以通过下面的命令去发现:
yo doctor
doctor
命令能诊断和提供步骤来解决最常见的问题。
创建一个 generator
查看 Authoring.