我需要动态加载一个npm库
当我使用webpack时,无需配置额外的插件它就达到了我的预期
我需要动态加载的代码如下:
export const dynamicReact = function () {
import('react').then(
obj => console.log,
err => console.log
);
}
但是我使用rollup时,不知道如何解决动态加载的问题。
首先如果不配置任何插件,最终只会出现一个文件设若为dist/index.js
它将不会对import()语句进行任何处理,显然单包是不可能动态加载的
如果配置了@rollup/plugin-dynamic-import-vars,则报错:
[!] (plugin rollup-plugin-dynamic-import-variables) Error: invalid import "import(`@hg/hg-web-${monitor}`)". Variable bare imports are not supported, imports must start with ./ in the static part of the import. For example: import(`./foo/${bar}.js`).
可以看到这个插件时不支持npm包的动态加载,它只能加载路径文件
如果我预期在rollup中动态加载npm文件是否有解决方案?
来自中文文档上的一些回答
https://www.rollupjs.com/guid...
当然如果你使用最新的ES module 那是可以解决的
https://rollupjs.org/guide/en...
https://rollupjs.org/guide/en...