📄 threejs/Core/Loaders/Loader

File: Loader.md | Updated: 11/15/2025


title: Loader category: Core layout: docs

Loader

Abstract base class for loaders.

Constructor

new Loader( manager : LoadingManager ) (abstract)

Constructs a new loader.

manager | The loading manager.
---|---

Properties

.crossOrigin : string

The crossOrigin string to implement CORS for loading the url from a different domain that allows CORS.

Default is 'anonymous'.

.manager : LoadingManager

The loading manager.

Default is DefaultLoadingManager.

.path : string

The base path from which the asset will be loaded.

.requestHeader : Object.<string, any>

The request header used in HTTP request.

.resourcePath : string

The base path from which additional resources like textures will be loaded.

.withCredentials : boolean

Whether the XMLHttpRequest uses credentials.

Default is false.

.DEFAULT_MATERIAL_NAME : string

The default material name that is used by loaders when creating materials for loaded 3D objects.

Note: Not all loaders might honor this setting.

Default is '__DEFAULT'.

Methods

.abort() : Loader (abstract)

This method can be implemented in loaders for aborting ongoing requests.

Returns: A reference to this instance.

.load( url : string, onLoad : function, onProgress : onProgressCallback, onError : onErrorCallback ) (abstract)

This method needs to be implemented by all concrete loaders. It holds the logic for loading assets from the backend.

url | The path/URL of the file to be loaded.
---|---
onLoad | Executed when the loading process has been finished.
onProgress | Executed while the loading is in progress.
onError | Executed when errors occur.

.loadAsync( url : string, onProgress : onProgressCallback ) : Promise

A async version of Loader#load.

url | The path/URL of the file to be loaded.
---|---
onProgress | Executed while the loading is in progress.

Returns: A Promise that resolves when the asset has been loaded.

.parse( data : any ) (abstract)

This method needs to be implemented by all concrete loaders. It holds the logic for parsing the asset into three.js entities.

data | The data to parse.
---|---

.setCrossOrigin( crossOrigin : string ) : Loader

Sets the crossOrigin String to implement CORS for loading the URL from a different domain that allows CORS.

crossOrigin | The crossOrigin value.
---|---

Returns: A reference to this instance.

.setPath( path : string ) : Loader

Sets the base path for the asset.

path | The base path.
---|---

Returns: A reference to this instance.

.setRequestHeader( requestHeader : Object ) : Loader

Sets the given request header.

requestHeader | A request header for configuring the HTTP request.
---|---

Returns: A reference to this instance.

.setResourcePath( resourcePath : string ) : Loader

Sets the base path for dependent resources like textures.

resourcePath | The resource path.
---|---

Returns: A reference to this instance.

.setWithCredentials( value : boolean ) : Loader

Whether the XMLHttpRequest uses credentials such as cookies, authorization headers or TLS client certificates, see XMLHttpRequest.withCredentials.

Note: This setting has no effect if you are loading files locally or from the same domain.

value | The withCredentials value.
---|---

Returns: A reference to this instance.

Source

src/loaders/Loader.js