dynamicInstantiate hook
注意:加载器 API 正在重新设计。 这个钩子可能会消失,或者它的签名可能会改变。 不要依赖下面描述的 API。
/**
* @param {string} url
* @returns {object} response
* @returns {array} response.exports
* @returns {function} response.execute
*/
export async function dynamicInstantiate(url) {
return {
exports: ['customExportName'],
execute: (exports) => {
//
exports.customExportName.set('value');
}
};
}
Note: The loaders API is being redesigned. This hook may disappear or its signature may change. Do not rely on the API described below.
To create a custom dynamic module that doesn't correspond to one of the
existing format
interpretations, the dynamicInstantiate
hook can be used.
This hook is called only for modules that return format: 'dynamic'
from
the getFormat
hook.
/**
* @param {string} url
* @returns {object} response
* @returns {array} response.exports
* @returns {function} response.execute
*/
export async function dynamicInstantiate(url) {
return {
exports: ['customExportName'],
execute: (exports) => {
// Get and set functions provided for pre-allocated export names
exports.customExportName.set('value');
}
};
}
With the list of module exports provided upfront, the execute
function will
then be called at the exact point of module evaluation order for that module
in the import tree.