在基于sinatra的网络应用程序中提供grunt托管UI

时间:2014-11-10 09:40:32

标签: javascript ruby gruntjs sinatra bower

我处于网络应用开发的早期阶段,其中:

  • API:ruby + sinatra(使用捆绑器)
  • UI:html + js(angular + yeoman => grunt + bower)

目录布局:

  • fooApp - 包含API
  • fooApp / ui - 包含UI

我可以很好地单独测试这些。

到目前为止,我用于手动测试:

  • bundle exec rackup(后端)
  • grunt serve(适用于用户界面)

然而,当我需要从sinatra提供UI时,我处于一个阶段。在这里,我被困住了。我该怎么办?我该如何从sinatra中引用grunt / bower管理的东西?

1 个答案:

答案 0 :(得分:0)

好的,自己找到了:grunt-connect-proxy在开发过程中为我代理。

对于那些感兴趣的人,以下是为我做的:

    fooApp/ui中的
  1. 必须安装它:

    npm install grunt-connect-proxy --save-dev
    
  2. 之后加入Gruntfile.js

    // load the proxy.
    grunt.loadNpmTasks('grunt-connect-proxy');
    var proxySnippet = require('grunt-connect-proxy/lib/utils').proxyRequest;
    
    ...
    
    proxies: [
            {
                context: '/api',
                host: 'localhost',
                port: 9292
            }
        ],
    livereload: {
    ...