如何在 NPM 上发布的 rollup.js 捆绑的浏览器上使用 es6 模块

问题描述

我已经向 NPM 发布了一个简单的 js 库,我希望节点和浏览器都可以使用它,使用 rollup.js 我为 commonjs 和 ES 创建了 2 个单独的包

rollup.config.js

output: [
    {
      dir: "bin/common",format: "cjs",},{
      dir: "bin/esm",format: "esm",],

cjs 包在 node 中工作正常,但是在使用 esm 包时出现错误

index.html

<html>
  <head>
    <script src="./src/index.js" type="module">
    </script>
  </head>
  <body></body>
</html>

Index.js

import * as myLib from "./node_modules/bin/esm/myLib.js";
console.log(myLib);

由 rollup.js 生成的 MyLib.js ES 包

Object.defineProperty(exports,"__esModule",{ // error is thrown from this line
  value: true
});
exports["default"] = void 0;

/** Lib Related code (no external dependencies,simple js code) **/

module.exports = exports.default;

*错误

参考错误:未定义导出

我想创建即使没有 webpack 也可以作为 ES 模块使用的包。

P.S 我使用本地服务器提供 html,而不是来自文件系统

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...