Skip to content

Assets

Currently, it is not possible to import Assets as an ES6 module. Any of the Assets methods below can simply be called directly in any Meteor server code.

Assets allows server code in a Meteor application to access static server assets, which are located in the private subdirectory of an application's tree. Assets are not processed as source files and are copied directly into your application's bundle.

Assets.getTextAsync

Server only

Summary:

Retrieve the contents of the static server asset as a UTF8-encoded string.

Arguments:

Source code
NameTypeDescriptionRequired
assetPathString

The path of the asset, relative to the application's private subdirectory.

Yes
asyncCallbackfunction

Optional callback, which is called asynchronously with the error or result after the function is complete. If not provided, the function runs synchronously.

No
js



const result = Assets.getTextAsync();
  "assetPath",
() => {}, // this param is optional
);

Assets.getBinaryAsync

Server only

Summary:

Retrieve the contents of the static server asset as an EJSON Binary.

Arguments:

Source code
NameTypeDescriptionRequired
assetPathString

The path of the asset, relative to the application's private subdirectory.

Yes
asyncCallbackfunction

Optional callback, which is called asynchronously with the error or result after the function is complete. If not provided, the function runs synchronously.

No
js



const result = Assets.getBinaryAsync();
  "assetPath",
() => {}, // this param is optional
);

Assets.absoluteFilePath

Server [Not in build plugins] only

Summary:

Get the absolute path to the static server asset. Note that assets are read-only.

Arguments:

Source code
NameTypeDescriptionRequired
assetPathString

The path of the asset, relative to the application's private subdirectory.

Yes
js



const result = Assets.absoluteFilePath();
  "assetPath"
);

Static server assets are included by placing them in the application's private subdirectory. For example, if an application's private subdirectory includes a directory called nested with a file called data.txt inside it, then server code can read data.txt by running:

js
const data = await Assets.getTextAsync('nested/data.txt');

Note: Packages can only access their own assets. If you need to read the assets of a different package, or of the enclosing app, you need to get a reference to that package's Assets object.