0

我正在尝试将我当前的项目移植到 Meteor,其中包含标准的 fontello 文件结构:

css
    fontello.css
    ...
font
    fontello.eot
    fontello.svg
    fontello.ttf
    fontello.woff

我已修改 fontello.css 路径以指向 Meteor 使用的“公共”文件夹:

@font-face {
  font-family: 'fontello';
  src: url('/font/fontello.eot?35453292');
  src: url('/font/fontello.eot?35453292#iefix') format('embedded-opentype'),
       url('/font/fontello.woff?35453292') format('woff'),
       url('/font/fontello.ttf?35453292') format('truetype'),
       url('/font/fontello.svg?35453292#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}

因此,我已将上述“字体”文件夹移动到所述“公共”文件夹中。

另外,我创建了一个新的 Meteor 包,其中 package.js 文件包含:

Package.onUse(function(api) {
    api.versionsFrom('1.0.3.1');
    api.addFiles('my-fontello.js'); 
    api.addFiles('font/fontello.eot', "client");
    api.addFiles('font/fontello.svg', "client");
    api.addFiles('font/fontello.ttf', "client");
    api.addFiles('font/fontello.woff', "client");
    api.addFiles('css/fontello.css', "client");
    api.addFiles('css/animation.css', "client");
});

我没有看到显示任何字体图标 - 有什么想法吗?

4

3 回答 3

1

当您将文件放入public其中时,从根文件夹访问文件就足够了(请参见下面的相同代码)并且指向您的文件的指针在您放入#?在 url 中看到的有些错误,它不应该存在。

@font-face {
  font-family: 'fontello';
  src: url(/font/fontello.eot);
  src: url(/font/fontello.eot) format('embedded-opentype'),
       url(/font/fontello.woff) format('woff'),
       url(/font/fontello.ttf) format('truetype'),
       url(/font/fontello.svg) format('svg');
  font-weight: normal;
  font-style: normal;
}

并且要在包中使用它,您需要从public如下所示的路径开始

Package.onUse(function(api) {
    api.versionsFrom('1.0.3.1');
    api.addFiles('tidee-fontello.js');  // put the location from root directory
    api.addFiles('public/font/fontello.eot', "client");
    api.addFiles('public/font/fontello.svg', "client");
    api.addFiles('public/font/fontello.ttf', "client");
    api.addFiles('public/font/fontello.woff', "client");
    api.addFiles('public/css/fontello.css', "client");
    api.addFiles('public/css/animation.css', "client");
});

希望这可以帮助

于 2015-02-20T05:29:53.707 回答
0

我有一个类似的设置

client
  stylesheets
    fontello-social.css
public
  fonts
    fontello-social.eot
    fontello-social.svg
    fontello-social.ttf
    fontello-social.woff

我根本没有使用包文件。

在 fontello-social.css 中,4 个文件的 url 路径的格式为 /fonts/filename,因为“public”映射到“/”

于 2015-02-20T23:53:56.250 回答
0

固定的:

1)虽然我已经创建了我的包,但我实际上并没有将它添加到我的应用程序中。因此,我运行了命令“sudo meteor add my-fontello”。

2) 无需将任何 fontello 资产移动到公用文件夹。而是将 fontello.css 文件更新为:

@font-face {
    font-family: 'fontello';
    src: url('../font/fontello.eot?35453292');
    src: url('../font/fontello.eot?35453292#iefix') format('embedded-opentype'),
         url('../font/fontello.woff?35453292') format('woff'),
         url('../font/fontello.ttf?35453292') format('truetype'),
         url('../font/fontello.svg?35453292#fontello') format('svg');
         font-weight: normal;
         font-style: normal;
}

...并且 package.js 文件更新为:

Package.onUse(function(api) {
    api.versionsFrom('1.0.3.1');
    api.addFiles('my-fontello.js'); 
    api.addFiles('font/fontello.eot', "client");
    api.addFiles('font/fontello.svg', "client");
    api.addFiles('font/fontello.ttf', "client");
    api.addFiles('font/fontello.woff', "client");
    api.addFiles('css/fontello.css', "client");
    api.addFiles('css/animation.css', "client");
});

还值得一提的是,为了让 Meteor 获取对这个包中的 CSS 文件所做的更改,我需要重新启动我的 Meteor 应用程序。

于 2015-02-22T00:04:09.760 回答