首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复->文件是CommonJS模块;它可以转换为ES6模块

如何修复->文件是CommonJS模块;它可以转换为ES6模块
EN

Stack Overflow用户
提问于 2020-05-01 09:50:37
回答 1查看 13.9K关注 0票数 10

我开始关注vs代码编辑器上的java脚本编码,当我试图将外部模块包括到我的项目中时,代码编辑器建议这样->(File是CommonJS模块;它可以转换为ES6模块。)有什么方法可以用推荐行来解决这个问题吗?我的代码

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-01 10:17:29

目前nodejs中唯一稳定支持的模块系统是通用的,即基于require函数和module全局对象的模块系统。

对es6模块系统的支持被认为是节点的一个不稳定特性,这基本上意味着社区可以在不尊重语义版本控制的情况下通过引入中断更改来决定改变它。

因此,在选择nodejs的模块系统时,您基本上有3种选择:

  • 坚持使用公共to模块,等待es6模块支持成为一个稳定的特性。
  • 对es6模块使用当前支持的不稳定api
  • 在代码中使用es6模块,然后使用babel将transpile返回到公共to模块,这样节点就可以只使用稳定的api运行转置代码。

在我看来,最简单和最有效的选择是坚持常规,等待es6模块支持成为一个稳定的api。此时,您可以安全地切换到es6模块。我将避免通过设置babel和将es6模块转换到公共es6模块的构建过程来增加复杂性。

--这意味着,现在,您可以安全地忽略VS代码中的警告。 VS代码暗示您切换到es6模块,因为它们被设计成javascript的通用模块系统,但采用过程需要时间,正如您所能想象的那样。

实际上还有第四种选择,但它要求您采用类型抄本(顺便说一句,这是中到大型项目的一个很好的选择):用类型记录编写源代码,并让类型记录编译器将其转换回与节点兼容的javascript代码。

类型记录使用的是es6模块系统,所以通过采用类型记录,您将从一开始就使用es6模块系统。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61540198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档