PlayFramework 2.1:使用Require.js&amp ;;加载特定于页面的Javascripts。 Backbone.js的

时间:2013-06-27 02:24:14

标签: javascript playframework-2.0 requirejs backbone-routing

我想加载具有依赖项的特定于页面的Javascripts。我知道:documentation

中描述的@scripts

但我想使用Require.js来管理我的模块依赖项:

require([
'jquery',
'bootstrap',
'unicorn'
], function($){
        //console.log(document.location.pathname); // causes integration test to fail
        switch (document.location.pathname)
        {
            case '/login' :
                require(['lib/login'], function(){
                    // maybe some validation
                })
            case '/events' :
                require (['lib/underscore']), function () {
                    // page-specific scripts
                })
        } 

是否有更好的方法来处理特定于页面的脚本。例如,如果我有:

case 'events/:id' 

进行正则表达式匹配不是最好的主意。我宁愿在服务器端模板中使用它。我应该使用Backbone.js路由器之类的东西。如果是这样,它是如何做到的?

另外,我不能只在我的服务器端模板中包含一个标记,因为我从main.scala.html继承了require.js和data-main

  @helper.requireJs(core = routes.Assets.at("javascripts/require.js").url, module = routes.Assets.at("js/main").url)

谢谢! Jack Chi

1 个答案:

答案 0 :(得分:0)

+1,我认为这是一个真正的问题, 我正在使用angualrJs,我和路由器几乎有同样的问题, 我唯一能做的就是在全局控制器类中处理这个问题 使用notfoundError结合每个请求的正则表达式[2ms]。

我认为玩家应该为此工作[可能已经实施了....我不知道] 我认为最好的办法是将虚拟路由器与Apache虚拟主机类似。