Meteor:在管理仪表板路由之前添加Bootstrap CDN链接

时间:2015-09-30 12:40:52

标签: twitter-bootstrap meteor materialize

enter code here我正在使用 materializecss 作为我的应用的用户界面。我也想添加管理包,因为我正在使用yogiben:admin包。问题是,要使用此管理包,我必须安装Bootstrap packae,因为我正在使用materializecss进行UI工作,所以我无法这样做。

现在有一些我正在尝试做的黑客攻击,即在 /admin 路由之前添加Bootstrap CDN链接。

有人可以帮我解决如何在飞行中添加bootstrap cdn的链接。因此,当用户以管理员身份登录并转到/admin路由或/admin/*时,应加载bootstrap css和javascript。

我正在尝试这样的事情:

Router.route("admin", {
path: AdminDashboard.path('/admin'),
  onBeforeAction: function(){
    link: {
      stylesheet: "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"
    }
    this.next();
  }  
});

但上面的代码给出了错误

  

错误:路径“/ admin”的路径已存在,名称为“admin”。

1 个答案:

答案 0 :(得分:1)

没关系。我自己设法做到了。如果其他人正在寻找它,这是解决方案。

    Router.onAfterAction(function(){
      var routeName = Router.current().route.getName();
      if ( routeName.indexOf("adminDashboard") == 0 ) {
        $("head #injectedBootstrap").remove(); //removes duplicates
        $("head").append($("<link rel='stylesheet' id='injectedBootstrap' href='/css/bootstrap.min.css' type='text/css' media='screen' />"));
        $("head #injectedBootstrapJs").remove(); //removes duplicates
        $("head").append($("<script type='text/javascript' src='/js/bootstrap.min.js'></script>"));
      }
    });