【问题标题】:Yeoman Workflow and Integration with Backend ScriptsYeoman 工作流程和与后端脚本的集成
【发布时间】:2012-09-12 14:16:20
【问题描述】:

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

场景 1

因此,假设我不需要所有那些闪亮的 BBB/Ember/Angular 的东西,而仅将 Yeoman 用于由 Codeigniter 或 Sinatra/Rails 支持的 jQuery/H5BP/Modernizr。由于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/Ember/Angular。坦率地说,我只是在测试这些东西,所以欢迎任何使用后端代码实现的技巧!虽然据我所知,yeoman 可以在 app 文件夹中为这些框架生成必要的文件,所以我认为,第一个方案的解决方案将解决方案 2 的问题

非常感谢!

【问题讨论】:

    标签: backbone.js yeoman


    【解决方案1】:

    我喜欢使用这种结构:

    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 将“输出:'dist'”更改为“输出:'../../../public'”

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

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

    约曼太棒了!

    【讨论】:

      【解决方案2】:

      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”,并且将使用 yeoman 优化的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-10
        相关资源
        最近更新 更多