适当的buildstep for require.js backbone.js with text!插入

时间:2011-12-19 20:15:54

标签: backbone.js requirejs

在我们的require.js和backbone.js应用程序中,我们使用了许多视图和模板。

在buildstep中,我们希望使用适当的视图填充内联模板,并从流程中的构建中删除文本插件。

甚至可能吗?

1 个答案:

答案 0 :(得分: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