2011-12-19 115 views

回答

0

當您運行r.js實用程序時,它將由RrequireJs自動處理。 沒有額外的努力來「內聯」模板。

只要你的模板定義,像這樣:

define (['text!templates/my.html'], function(myTemplate){}) 

運行r.js -o app.build.js會內聯所有的text!templates/my.html到您優化的JavaScript文件中其自己的字符串。這裏是我的app.build.js樣本

({ 
    appDir: "../project-directory", 
    baseUrl: ".", 
    dir: "../../optimized", 
    modules: [ 
     { 
      name: "js/bootstrap" 
     } 
    ], 
    paths: { 
     text: 'js/libs/amd/plugins/text', 
     order: 'js/libs/amd/plugins/order', 
     jquery: 'js/libs/jquery-1.7.1', 
     underscore: 'js/libs/underscore', 
     backbone: 'js/libs/backbone', 
     'jquery.mobile.router': 'js/libs/jquery.mobile.router' 
    }, 
    optimize: 'uglify', 
    optimizeCss: "standard" 
}) 

RequireJS是足夠聰明,內聯你的依賴與text!前綴。換句話說,文本插件僅用於您的開發版本。優化版本不需要文本插件。

如果您有興趣瞭解更多詳情,您可以找到說明來優化您的項目on RequireJS's site。您還可以找到構建文件的詳細示例,其中包含所有可能的選項here

相關問題