Meteor部署到子文件夹

时间:2016-07-08 12:45:36

标签: javascript meteor routing

我在将Meteor部署到像/myapp/这样的子文件夹时遇到了一些问题。对于未使用路由器形成的应用程序上的静态内容的任何链接或引用,URL将无法解析,因为它们不包含URL前缀。

例如:

html <a href="/"> <img src="/images/logo.png" alt="Site Logo" /> </a>

如果将图像放在/public/images/目录中,这样可以正常工作。但是当您使用

将应用程序部署到子文件夹时

ROOT_URL=htp://localhost:3000/myapp/ meteor run

图片无法渲染,链接将仅解析为http://localhost:3000,如果您没有使用反向代理,则会从流星中收到错误。

使用路由器形成的路由链接,正常工作正常。

1 个答案:

答案 0 :(得分:0)

我提出的解决方案是使用调用Meteor.absoluteUrl的模板助手。

import './banner.html';

import { Template } from 'meteor/templating';
import { Meteor } from 'meteor/meteor';

Template.App_banner.helpers({
  absoluteUrl(path) {
    return Meteor.absoluteUrl(path);
  }
});

然后形成所有这样的链接:

  <a href="{{absoluteUrl}}">
    <img alt="Site Logo" src="{{absoluteUrl "images/logo.png"}}">
  </a>