[英]How can I tell if a particular module is a CommonJS module or an ES6 module?
[英]how can i fix --> File is a CommonJS module; it may be converted to an ES6 module
我盯着 vs 代码编辑器上的 java 脚本编码,当我尝试将外部模块包含到我的项目中时,代码编辑器建议这样做-->(文件是 CommonJS 模块;它可能会转换为 ES6 模块。)有没有办法用推荐线解决这个问题? 我的代码
目前nodejs内部唯一稳定支持的模块系统是commonjs,它是基于require
function和module
全局object的模块系统。
对 es6 模块系统的支持被认为是 node 的一个不稳定特性,这基本上意味着社区可以决定通过引入破坏性更改来改变它,而无需尊重语义版本控制。
因此,在为 nodejs 选择模块系统时,您基本上有 3 个选择:
在我看来,最简单最有效的选择就是坚持使用commonjs,等待es6模块支持成为稳定的api。 此时,您可以安全地切换到 es6 模块。 我会通过设置 babel 和将 es6 模块转换为 commonjs 模块的构建过程来避免增加复杂性。
这意味着,现在,您可以放心地忽略 VS 代码中的警告。 VS 代码提示您切换到 es6 模块,因为它们被设计为 javascript 的通用模块系统,但正如您想象的那样,采用过程需要时间才能完成。
实际上还有第四种选择,但它需要您采用 typescript(顺便说一下,这是中大型项目的不错选择):使用 typescript 编写源代码,然后让 Z1E35BCBA2DBA1089C7BD0805D457 编译器返回到节点- 兼容 javascript 代码。
Typescript 使用开箱即用的 es6 模块系统,因此通过采用 typescript,您将从一开始就使用 es6 模块系统。
您可以通过在 vscode 设置中添加"javascript.suggestionActions.enabled": false
来禁用它们。
这些是建议/提示。 它们直观地表明 vscode 可以执行可能重构/改进代码的操作,但它们不被视为错误。 您可以通过在用户设置中添加 "javascript.suggestionActions.enabled": false 来禁用它们
来自 vscode 官方仓库 - https://github.com/microsoft/vscode/issues/47299#issuecomment-379335075
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.