2016-07-08 6 views
0

Ich habe einige Probleme mit Meteor zu einem Unterordner wie /myapp/ bereitstellen. Bei Links oder Verweisen auf statische Inhalte in der Anwendung, die nicht mit einem Router erstellt wurden, werden die URLs nicht aufgelöst, da sie das URL-Präfix nicht enthalten.Meteor im Unterordner

Zum Beispiel:

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

Dies funktioniert gut, wenn Sie das Bild in /public/images/ Verzeichnis. Aber wenn Sie die Anwendung auf einem

mit Unterordner bereitstellen ROOT_URL=htp://localhost:3000/myapp/ meteor run

Das Bild wird nicht übertragen und die Verbindung wird nur http://localhost:3000 lösen und wenn Sie nicht einen Reverse-Proxy verwenden, werden Sie einen Fehler aus Meteor.

Links mit Routen von Routern gebildet, funktionieren gut, wie erwartet.

Antwort

0

Die Lösung, die ich gefunden habe, ist die Verwendung eines Vorlagenhelfers, der Meteor.absoluteUrl aufruft.

import './banner.html'; 

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

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

Und dann bilden alle Links wie folgt aus:

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