我在将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
,如果您没有使用反向代理,则会从流星中收到错误。
使用路由器形成的路由链接,正常工作正常。
答案 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>