gpt4 book ai didi

javascript - 在同一个项目中混合 CommonJS 和 ES6 模块

转载 作者:行者123 更新时间:2023-12-05 00:33:42 28 4
gpt4 key购买 nike

我在 NodeJS 工作。我有大量遗留代码,包括在许多地方使用的几个包。这段代码都是 CommonJS,Node 的 require() 模块结构。
Node 现在支持 ES6。由于它是 Javascript 语言功能,我想迁移到它。
今天,我开始了一个小项目。我的小项目样板需要()几个我最喜欢的实用程序,然后说“Hello World”。我对其进行了编辑以导入所述实用程序。 Node告诉我我需要在我的package.json中添加“type”:“module”,我做到了。
当我运行它时,我被告知“require is not defined”,这是指我导入的实用程序模块之一。
我推断这意味着一个项目要么是 CommonJS 要么是 ES6,而且似乎这两者永远不会相遇。我对此感到惊讶,因为这意味着我永远不会在 NodeJS 中使用 ES6,因为我永远无法更改我 require() 的所有模块。有些甚至不是我的,有些则用于我什至不知道的项目(npm!)中。
老实说,我很难相信这是事实。我不明白 ES6 是如何成为广泛使用的标准的,因为如果 ES^ 和 CommonJS 不能在应用程序中一起使用。我意识到 Webpack 等会预处理代码并修改所有 require() 语句,但并不是每个人都使用这种实用程序。
我的问题是:
这个分析正确吗?
是否有一些解决方法可以让我同时使用两个模块系统(没有预处理器)?
我即将做出的永远、永远使用 ES6 的决定是正确的吗?

最佳答案

关于javascript - 在同一个项目中混合 CommonJS 和 ES6 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67246229/

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