2014-01-15 61 views
1

我用咕嚕-燼模板成功預編譯車把成一個文件,但是,包括在HTML文件源時:包括預編譯的餘燼車把模板

<script src="templates/app/compiledTemplates.js" type="text/javascript"></script> 

它這樣說:

Resource interpreted as Script but transferred with MIME type text/plain: "file:///Users/jaime/voyant-svn/voyant-blocks/dev/blocks-web/src/main/webapp/templates/app/compiledTemplates.devjs". 

包含預編譯的車把模板的正確方法是什麼?

+0

你確定要將模板編譯到模板目錄嗎?我通常會將彙編後的代碼放到一個「dist」文件夾中,這樣它就不會混淆我的項目中可能存在的其他任何實際源代碼。 –

回答

1

我結合編譯模板與我的其他腳本的指針(jQuery的/ ember/ember-data /我的應用程序代碼)使用grunt。然後,在我的index.html中,我只包含單個js腳本(也有助於減少http請求的數量)。

我目前正在使用grunt這個,一個簡單的「構建」步驟可能看起來像下面。要使用這個,你需要安裝nodejs。接下來,您將NPM安裝以下

grunt 
grunt-cli 
grunt-ember-template-compiler 
grunt-contrib-concat 

一旦你已經安裝了這些,你可以從你的根,如果你把JS到一個名爲「Gruntfile.js」文件 - 然後簡單地執行「咕嚕」的運行和構建它會輸出一個deps.min.js(帶你的腳本和模板組合)

module.exports = function(grunt) { 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-ember-template-compiler'); 

    grunt.initConfig({ 
    concat: { 
     dist: { 
      src: [ 
      'website/static/website/script/vendor/handlebars-v1.2.1.js', 
      'website/static/website/script/vendor/ember.min.js', 
      'website/static/website/script/my-app.js’, 
      'website/static/website/script/dist/tmpl.min.js'], 
      dest: 'website/static/website/script/dist/deps.min.js' 
     } 
    }, 
    emberhandlebars: { 
     compile: { 
      options: { 
       templateName: function(sourceFile) { 
        var newSource = sourceFile.replace('website/static/website/script/app/templates/', ''); 
        return newSource.replace('.handlebars', ''); 
       } 
      }, 
      files: ['website/static/website/script/app/templates/**/*.handlebars'], 
      dest: 'website/static/website/script/dist/tmpl.min.js' 
     } 
    } 
    }); 

    grunt.task.registerTask('default', ['emberhandlebars', 'concat:dist']); 
}; 
1

這是我要做的事在我的應用程序:

<script type="text/javascript" charset="utf-8" src="dist/templates.js"></script> 

在這裏可以看到整個index.html文件:

https://github.com/joachimhs/WarmCroc-Ember/blob/master/index.html

在,其實,我只是寫了這個代碼今天在Ember.js上進行現場編碼演示。談話記錄爲一個截屏,並且可從http://emberjstraining.com

這個談判應該給你你需要把一切都設置正確:)

+0

我一定會看這個演講,它似乎有用的信息。 – Jaime

+0

我似乎在編譯與您非常相似的模板。除了唯一的區別是我的模板文件在文件中包含腳本標記(

  • 11. 編輯帶有餘燼和餘燼的handlebars模板
  • 12. 使用預編譯模板時咕嚕-燼模板
  • 13. 車把預編譯的版本錯誤
  • 14. CMake包括預編譯庫
  • 15. 雙引號被添加到預編譯的灰燼模板
  • 16. 從灰燼把手模板
  • 17. 在車把模板
  • 18. X車把模板
  • 19. 與骨幹佈局管理器預編譯車把模板茉莉花測試
  • 20. 編譯和渲染與香草的車把模板JS
  • 21. 灰燼插入在車把模板中的href標記
  • 22. 預編譯JavaScript的模板
  • 23. 檣EJS但連接JS編譯車把公共模板
  • 24. 模板內的車把模板
  • 25. 如何渲染模板到子目錄與車把/燼
  • 26. 預編譯jsrender模板
  • 27. 通過JSON按需提供預編譯的把手模板
  • 28. 把手預編譯模板返回未定義的值
  • 29. 變量傳給燼車把
  • 30. 灰燼,車把和陣列