【问题标题】:Meteor packages with images带有图像的流星包
【发布时间】:2015-08-10 07:51:04
【问题描述】:

我想创建一个包含 css、js 和图像的主题包。主题包长这样:

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文件如何作为meteor包分发使用?

谢谢

【问题讨论】:

    标签: meteor


    【解决方案1】:

    您需要使用常规的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

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-07-28
      • 2013-02-28
      • 2017-10-28
      • 1970-01-01
      • 2014-10-12
      • 2015-04-24
      • 2015-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多