gpt4 book ai didi

javascript - 为什么我在尝试将 Rollup 与 commonjs 结合使用时得到 "Uncaught ReferenceError: exports is not defined"?

转载 作者:行者123 更新时间:2023-12-04 15:18:28 35 4
gpt4 key购买 nike

我有 a project我正在努力获取使用 rollup 的 UMD、ESM 和 CommonJS 示例。 UMD 和 ESM 工作得很好,但对于 CommonJS,我得到了...

Uncaught ReferenceError: exports is not defined

CommonJS 输出是...

'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

class SimpleTest{
constructor(message){
console.log(`Your message is ${message}`);
}
}

exports.SimpleTest = SimpleTest;

HTML 是...

<html>
<body>
<script src="https://requirejs.org/docs/release/2.3.6/comments/require.js"></script>
<script>
require(["./target/ng-demo.js"], (dep)=>{
new dep.SimpleTest("ESM");
});
</script>
</body>
</html>

导出不会来自 RequireJS 吗?

最佳答案

看起来您正在尝试演示 amd 而不是 cjs。在浏览器上运行 cjs 没有意义,因为它只适用于节点环境。

你试图在浏览器上包含支持 amdrequire.js,所以你只需将 cjs 切换为 amd 那么它就可以工作了:

{
file: "./target/ng-demo.js",
format: "amd" // instead of `cjs`
}

关于javascript - 为什么我在尝试将 Rollup 与 commonjs 结合使用时得到 "Uncaught ReferenceError: exports is not defined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63861614/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com