【问题标题】:Meteor deployed to subfolder流星部署到子文件夹
【发布时间】:2016-07-08 12:45:35
【问题描述】:

我在将 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,如果您没有使用反向代理,您会收到来自流星的错误。

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

【问题讨论】:

    标签: javascript meteor routing


    【解决方案1】:

    我想出的解决方案是使用调用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>
    

    【讨论】:

      猜你喜欢
      • 2016-09-17
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 2016-09-14
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多