即使使用namedExports,汇总也无法使用commonjs插件找到导出的函数

问题描述

我正在尝试将 rxdb 与 rollup 一起使用,但 rxdb 导入了克隆模块,并且显然与 rollup 和 commonjs 插件不兼容。

我在运行 yarn dev 时看到此错误

[!] Error: 'default' is not exported by node_modules/clone/clone.js,imported by node_modules/rxdb/dist/es/util.js
https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
node_modules/rxdb/dist/es/util.js (6:9)
4:  */
5: import randomToken from 'random-token';
6: import { default as deepClone } from 'clone';
            ^
7: /**
8:  * Returns an error that indicates that a plugin is missing
Error: 'default' is not exported by node_modules/clone/clone.js,imported by node_modules/rxdb/dist/es/util.js
    at error (/home/chrisdawson/xxx/svelte/node_modules/rollup/dist/shared/rollup.js:5305:30)

我认为 rollup/commonjs 插件中的 namedExports 可以解决这个问题,但我不确定如何使用它。这是我的 rollup.config.js 文件中的一个片段:

commonjs({
  namedExports: { 'node_modules/clone/clone.js': [ clone ]},}),

clone.js 文件的结尾如下所示:

chrisdawson@pop-os:~/svelte$ cat node_modules/clone/clone.js 
...
return clone;
})();

if (typeof module === 'object' && module.exports) {
  module.exports = clone;
}

允许导入此“认”导出的正确方法是什么?

我的汇总包依赖项是:

"rollup": "^2.3.4","rollup-plugin-commonjs": "^10.1.0","rollup-plugin-css-only": "^3.1.0","rollup-plugin-livereload": "^2.0.0","rollup-plugin-node-polyfills": "^0.2.1","rollup-plugin-node-resolve": "^5.2.0","rollup-plugin-postcss": "^4.0.0","rollup-plugin-svelte": "^7.1.0","rollup-plugin-terser": "^7.0.0",

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)