@cocos/babel-plugin-dynamic-import-vars

Babel plugin to route your dynamic import.

Usage no npm install needed!

<script type="module">
  import cocosBabelPluginDynamicImportVars from 'https://cdn.skypack.dev/@cocos/babel-plugin-dynamic-import-vars';
</script>

README

@cocos/babel-plugin-dynamic-import-vars

Inspired from @rollup/plugin-dynamic-import-vars.

This plugin transforms for example:

import(`./${lang}.js`)

into

((specifier) => {
    switch (specifier) {
        case './zh-cn.js': return import('./zh-cn.js');
        case './en-us.js': return import('./en-us.js');
        default: return import(specifier);
    }
})(`./${lang}.js`)

given './${lang}.js' can be statically resolved as './zh-cn.js', './en-us.js' etc.

Rules

Similar with @rollup/plugin-dynamic-import-vars except that:

  • If none of the preset specifiers matches, the code won't throw but still fallback to run.

  • Supplied an options to resolve .js to others for example .ts.