【问题标题】:Ember.js + Sinatra + Sprockets, trying to use separate files for handlebars templatesEmber.js + Sinatra + Sprockets,尝试为车把模板使用单独的文件
【发布时间】:2014-03-18 20:15:55
【问题描述】:

我目前正在编写一个带有小型 Sinatra 后端的 Ember 应用程序。我之前的 Ember 项目使用带有 ember-rails gem 的 Rails 后端。我正在使用与 ember-rails 生成的目录结构类似的目录结构。应用程序结构如下所示。

  /app
    /assets
      /stylesheets
      /javascripts
        /vendor
        /models
        /controllers
        /routes
        /views
        /templates
            --various templates with .hbs extension--
        applcation.js
        router.js
        store.js
    /models
    /views
      layout.erb
  app.rb
  config.ru
  Gemfile

我在使用 sprocket 设置应用程序时没有遇到任何问题。 ember 应用被加载并呈现到下面的布局模板中。

<!DOCTYPE html>
<html>
  <head>
    <title>My App</title>
  </head>
  <body>

    <script type="text/x-handlebars" data-template-name="application">
      <h1>My App</h1>
      {{ outlet }}
    </script>

    <script src="assets/javascripts/application.js"></script>
  </body>
</html>

问题是我的 .hbs 模板文件都没有被检测到并呈现到插座中。如果我将模板移动到布局中的脚本标签中,那么它们会正确呈现。 我尝试过使用handlebars_assetssinatra-handlebarssinatra-ember,但无济于事。任何帮助将不胜感激。

【问题讨论】:

    标签: ember.js sinatra sprockets handlebars.js


    【解决方案1】:

    我在 Sinatra 包装的 ember.js 应用程序中使用 Sinatra::AssetPipelineHandlebarsAssets,它适用于这种配置:

    configure do
      register Sinatra::AssetPipeline
      set :assets_precompile, %w(application.js application.css libs.js templates.js)
      sprockets.append_path HandlebarsAssets.path
      HandlebarsAssets::Config.ember = true
    end
    

    您可以在https://github.com/mynewsdesk/postman看到它的实际应用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 2013-01-22
      • 2020-01-16
      • 1970-01-01
      • 2019-04-17
      • 2014-05-10
      • 1970-01-01
      相关资源
      最近更新 更多