I'm creating a package and, for the client side, I need to add some static files like fonts and images. After trying some outdated solution I found nothing seemed to work for me. How should I add those files? Create a public folder inside my package? Adding the files with api.addFiles
?
Is this even possible?
You should now use api.addAssets to add static files to your package.
You can add static assets to any package and they will be served by meteor. The easiest way to demonstrate this is with an example. Have a look at the source for hopscotch.
The package contains an img
directory with the file sprite-green-0.3.png
. If you look at the package.js
file you can see that it gets added to the client with:
api.addFiles('img/sprite-green-0.3.png', 'client');
After adding the package to your project, you can access the file directly with this URL:
http://localhost:3000/packages/hopscotch/img/sprite-green-0.3.png
In summary, you can use api.addFiles to add static assets. All assets will be accessable under a path like /packages/[package name]/[path to asset]
.
Note that you can add {isAsset: true}
as a third argument to addFiles
for assets which should not be automatically loaded. This post contains an example of its use.