流星包装图像

时间:2015-05-28 01:36:34

标签: meteor

我想用css,js和images创建一个主题包。主题包看起来像:

packages/
  theme
    css
      theme.css
    js
      theme.js
    img
      logo.png

我可以像这样打包css和js:

Package.onUse(function(api) {
  var themeFiles = [
    'theme/css/theme.css',
    'theme/js/theme.js'
  ];

  api.addFiles(themeFiles, 'client');
});

我是否需要打包图像才能使用它们?我试图像这样引用徽标png,但它没有用:

<a href="/packages/theme/img/logo.png">logo</a>

如何将非css或js文件分发并用作流星包?

由于

2 个答案:

答案 0 :(得分:3)

您需要使用常规api.addFiles方法声明包资源(如图像):

api.addFiles("img/logo.png","client",{
  isAsset: true
});

isAsset在这里不是强制性的,因为我们正在添加图片,但请注意,如果我们想要将JS或CSS文件添加为公共静态服务文件,我们必须指定此选项以避免Meteor将这些文件与连接/缩小的初始应用程序JS / CSS捆绑在一起。

然后,您将能够使用此类路径引用这些资产:

`/packages/package-author_package-name/img/logo.png`

鉴于您的包名称为package-author:package-name

答案 1 :(得分:0)

您还可以使用api.addAssets(filenames, architecture)并从客户端访问/packages/username_package-name/file-name,请参见https://docs.meteor.com/api/packagejs.html#PackageAPI-addAssets