链接到Meteor.js和Telescope中公用文件夹中的资源

时间:2015-07-24 19:09:35

标签: javascript html meteor assets telescope

我在Meteor上使用Telescope,但我无法访问公共文件夹中的任何内容。在我的Meteor应用程序中,我有一个包含公共文件夹的包 - 它包含我无法正确链接的图像/字体。

我是流星和望远镜的新手,所以我觉得我搞砸了一些基本的东西。这就是我正在使用的:

/public的文件结构路径:

MyApp/Packages/ThemeName/public/

其中包含三个文件夹:iconsimagesfonts

要链接到我的CSS中的字体,我使用@font-face

@font-face {
    font-family: Neuzeit; 
    src:
    url("/fonts/neuzeit-book.css"),
    url("/fonts/neuzeit-book.eot"),
    url("/fonts/neuzeit-book.svg"),
    url("/fonts/neuzeit-book.ttf"),
    url("/fonts/neuzeit-book.woff");
}
body {
    font-family: Neuzeit;
}

但是这些字体无法加载,我在控制台中收到错误:Failed to decode downloaded font: http://localhost:3000/fonts/neuzeit-book.ttf [index:1]。我为每个来源都得到了这个。此外,我还尝试在同一个包中链接到模板中的图像:

<img src="/icons/icon-close.png" />

但是后来我在页面上找到了一个断开的链接图标而不是那个图像 - 奇怪的是,控制台中的图像没有404。

这是权限问题吗?我已经提到了this SO article但是这最终变得无关紧要,因为我相信我正在写出正确的路径吗?请指教!

2 个答案:

答案 0 :(得分:3)

/public需要位于您应用的根目录,而不是/Packages/ThemeName/public/

答案 1 :(得分:0)

您正在链接到错误的网址: 而不是:

url("/fonts/neuzeit-book.css")

它应该是这样的:

url("/packages/your-theme-name/public/fonts/neuzeit-book.css")

但是你应该确保它是通过package.js文件中的addFiles()包含的