我想用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文件分发并用作流星包?
由于
答案 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