我的js脚本使用'require',我无法在浏览器中使用它。更改为“导入”可以解决这个问题吗?我什么时候应该完全避免“要求”?

问题描述 投票:0回答:1

我正在设置一个 webhook 接收器只是为了学习入门知识。我已经运行了许多与节点配合良好的测试。现在,我尝试将此接收器放在公共托管页面上,这样我就不必始终保持个人计算机处于开启状态。但是当我在浏览器中打开文件时,出现错误

Uncaught ReferenceError: require is not defined
。如果我只是将“require”行更改为“import”,就能解决问题吗?

另外,如果“require”不能在浏览器中使用,那么什么时候合适,什么时候我应该从一开始就避免使用它?

我已经尝试过 esbuild,但这给了我一组全新的错误,我想知道在我进一步走这条路之前是否有更有效的解决方案?

browser webhooks require web-development-server
1个回答
0
投票

如果我只是将“require”行更改为“import”,就能解决问题吗?

还有其他细微差别,但我建议尝试一下!

另外,如果“require”不能在浏览器中使用,什么时候合适,什么时候我应该从一开始就避免使用它?

新代码不应使用

require()
。它只是服务器端/节点,
import
/ ESM 是未来。

我已经尝试过 esbuild,但这给了我一组全新的错误,我想知道在我进一步走这条路之前是否有更有效的解决方案?

esbuild、webpack、vite 等工具可以解析 Node.js 样式代码并将其转换为单个浏览器兼容的文件。所以,是的,如果您不想更改代码,这是一个选项。如果您想避免捆绑程序,那么 ESM 可能是唯一的选择

© www.soinside.com 2019 - 2024. All rights reserved.