Padrino提供了用于快速创建应用的生成器,其优势在于构建推荐的Padrino应用结构、自动生成罗列了所有启动依赖项的Gemfile并提供帮助菜鸟尽快上手的指南。
生成器一个重要的特点就是它们被从头建立来支持你的Padrino应用中涉及到的大量工具、类库和Gems。
也就是说,Padrino生成器并不限制你使用任何数据库、对象关系映射、测试框架、模板引擎或JavaScript库。事实上,在生成应用的时候你就可以告诉Padrino你想用哪些组件。
Padrino 的详细介绍:请点这里
Padrino 的下载地址:请点这里
项目生成器的使用方式相当简单:
$ padrino g project <the_app_name> </path/to/create/app> --<component-name> <value>
而生成基本应用的最简单的命令莫过于:
$ padrino g project demo_project
该命令在当前目录的demo_project文件夹下创建一个继承自Padrino::Application的Padrino应用,该应用已经为您配置好了默认组件。
如果你有特殊需求,则可以按如下设置:
$ padrino g project demo_project -t rspec -e haml -m rr -s jquery -d datamapper -c sass
你也可以指定生成器跳过某个特定的组件(或者采用你自己的):
$ padrino g project demo_project --test none --renderer none
你还可以用 --app 参数为你的核心应用设置别名:
$ padrino g project demo_project --app alternate_app_name # alias -n
新建应用时,生成器用bundler包管理程序来处理依赖程序,当你添加了 --run_bundler参数,生成器会自动执行必要的bundler命令:
$ padrino g project demo_project --run_bundler # alias -b
如果你想手动搞定,那就在生成的应用根目录里打开终端,执行bundle install命令。
基本项目里面有很多关于如何使用项目生成器的栗子,欢迎来摘哦!
生成器框架是可扩展的,用户可以很轻易地为其添加组件和工具。
如果你对此感兴趣,可以在我们的项目上建立分支,阅读lin/generators/project.rb里的代码,并在lib/generators/components里的相关文件里创建指令。我们非常乐意接受第三方组件类型的推送请求(协助维护也求之不得)。
项目生成器的一些有效配置选项:
选项 默认值 参数 介绍bundle false -b 安装bundler依赖项
root . -r 项目根目录路径
dev false none 从本地git签出使用边缘版本
app nil -n 指定与项目名不同的应用名
tiny false -i 生成微型项目骨架
adapter sqlite -a 指定对象关系映射数据库适配器
有效组件及其默认参数设置如下:
选项 默认值 参数 介绍orm none -d mongoid, activerecord, datamapper, couchrest, mongomatic, ohm, ripple, sequel
test none -t bacon, shoulda, cucumber, testspec, riot, rspec, minitest
script none -s prototype, rightjs, jquery, mootools, extcore, dojo
renderer haml -e erb, haml, slim, liquid
stylesheet none -c sass, less, scss, compass
mock none -m rr, mocha
注意:在使用生成器时,项目名、模块名和控制器名不要重名。比如,不要将你的应用命名为Posts,同时又将你的控制器或者子应用也命名为Posts。
一堆栗子创建与项目不同名的应用:
$ padrino g my_project -n blog
这将在my_project/路径下生成项目,并且应用会命名为Blog。
生成带有mongoid的项目,并自动运行bundler:
$ padrino g project your_project -d mongoid -b
生成带有riot测试和rr模拟(mocking)的项目:
$ padrino g project your_project -t riot -m rr
生成带有swquel和mysql的项目:
$ padrino g project your_project -d sequel -a mysql
生成微型项目骨架:
$ padrino g project your_project --tiny
为项目选择根目录路径:
$ padrino g project your_project -r /usr/local/padrino
该指令将在/usr/local/padrino/your_project/下创建新的Padrino项目。
从克隆的git仓库使用Padrino:
$ padrino g project your_project [--dev] # Use padrino from a git checkout