在我们的require.js 和backbone.js 应用程序中,我们使用了许多视图和模板。
在构建步骤中,我们希望将模板与适当的视图 shim 内联,并在过程中从构建中删除文本插件。
这甚至可能吗?
在我们的require.js 和backbone.js 应用程序中,我们使用了许多视图和模板。
在构建步骤中,我们希望将模板与适当的视图 shim 内联,并在过程中从构建中删除文本插件。
这甚至可能吗?
当您运行他们的 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!
. 换句话说,文本插件仅在您的开发版本中使用。优化版本不需要文本插件。
如果您对更多细节感兴趣,您可以在 RequireJS 的网站上找到优化项目的说明。您还可以在此处找到包含所有可能选项的构建文件的详细示例