在公共场合/使用MeteorJS和铁路由器时提供“index.html”文件?

时间:2014-05-26 13:44:54

标签: meteor iron-router

我想从MeteorJS的公共文件夹中提供静态HTML文件(可以使用Rails和Express)。我这样做的原因是因为我有一个动态模板" admin"我的webapp的一部分,另一个用于销售-y" frontend"应用程序的一部分。

我不希望这个文件包含在this answer中建议的Meteor模板中,因为它会自动引入动态页面使用的缩小的CSS等。

有没有办法设置公用文件夹(及其所有子文件夹),以便它为index.html提供服务?这种方式http://app.com/会加载public / index.html?

2 个答案:

答案 0 :(得分:7)

您可以使用private folder,然后使用Assets.getText加载文件的内容,然后使用来自铁路由器的服务器端路由器提供。

因此,代码看起来像这样:

if (Meteor.isServer) {
  Router.map(function() {
    this.route('serverRoute', {
      path: '/',
      where: 'server',
      action: function() {
        var contents = Assets.getText('index.html');
        this.response.end(contents);
      }
    });
  });
}

答案 1 :(得分:0)

这是我放在bootstrap.js

中的内容
Router.route('/', {
  where: 'server'
}).get(function() {
  var contents;
  contents = Assets.getText('index.html');
  return this.response.end(contents);
});