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.