Yeoman工作流程与后端脚本集成

时间:2012-09-20 08:29:49

标签: backbone.js yeoman

所以,我一直在期待Yeoman,它已经出现了一个星期左右。但是在成功安装之后,我对工作流程以及后端脚本(API)的实现感到困惑。

情景1

所以让我说我不需要所有那些闪亮的BBB / Ember / Angular的东西,并使用Yeoman只是为了jQuery / H5BP / Modernizr支持Codeigniter或Sinatra / Rails。由于yeoman server本身不支持PHP(我没有尝试过Sinatra / Rails),我认为工作流程是:

  • Yeoman的前端开发
  • 完成后,执行yeoman build然后使用构建的dist文件夹作为开发后端的基础(并可能将dist文件夹复制到另一个文件夹以进行后端实现(让我们说public文件夹)
  • 如果我要更改CSS / JS,请再次使用yeoman,再次构建dist文件夹并将其复制到public。所以一直......

但是使用该工作流程,这意味着目录结构将类似于

cool-app/
--app/
  --yeoman development stuff
--test/
  --yeoman development stuff
--dist/
  --yeoman built stuff
.dotfiles
package.json
Gruntfile.js

这很好,但与CodeIgniter / Rails目录结构有很大不同。更不用说有名称差异了(这可以在Yeoman中配置吗?),所以很难想象一个好的工作流程一次开发前端和后端,除了使用构建的结果作为后端的基础。

场景2

BBB /灰烬/角。坦率地说,我一直在测试这些东西,所以欢迎使用后端代码实现任何提示!虽然我知道,yeoman可以为app文件夹中的那些框架生成必要的文件,所以我想,第一个场景的解决方案将有点解决方案2的问题

非常感谢!

2 个答案:

答案 0 :(得分:37)

我喜欢使用这种结构:

rails-app/
--app/
  --views/
    --js/
      --app/
      --test/
      --Gruntfile.js
--public

以下是我如何设置它:

  • rails new rails-app
  • cd rails-app / app / views
  • mkdir js
  • cd js
  • yeoman init ember

然后编辑Gruntfile.js将“output:'dist'”改为“output:'../../../ public'”

之后,“yeoman build”或“yeoman build:dist”将输出到Rails / public文件夹。

在开发期间,您仍然可以使用“yeoman服务器”在开发模式下运行yeoman,因此您所做的任何更改都将自动在浏览器中显示。

Yeoman很棒!

答案 1 :(得分:3)

Sanford的答案当然也适用于Sinatra,但是可以使用稍微不同的解决方案,这样您就不必发布“yeoman build”来在开发模式下运行。

在Sinatra中,公用文件夹是可配置的,因此您可以使用如下所示的配置块:

configure do
    set :public_folder, ENV['RACK_ENV'] == 'production' ? 'dist' : 'app'  
end

然后使用这样的路线:

get '/' do    
    send_file File.join(settings.public_folder, 'index.html')  
end

这假设“yeoman init”在Sinatra应用程序的根文件夹中运行。

您所做的就是确保在部署到生产环境之前运行“yeoman build”,并且将使用优化后的内容。