Nan*_*thu 3 javascript node.js express visual-studio-code
我盯着 vs 代码编辑器上的 java 脚本编码,当我试图将外部模块包含到我的项目中时,代码编辑器建议这个 -->(文件是一个 CommonJS 模块;它可能被转换为一个 ES6 模块。)。有什么办法可以用推荐行解决这个问题吗?我的代码
目前nodejs内部唯一稳定支持的模块系统是commonjs,它是基于require
函数和module
全局对象的模块系统。
对 es6 模块系统的支持被认为是 node 的一个不稳定特性,这基本上意味着社区可以决定通过引入破坏性更改来改变它,而不考虑语义版本控制。
因此,在为 nodejs 选择模块系统时,您基本上有 3 种选择:
在我看来,最简单有效的选择就是坚持使用commonjs,等待es6模块支持成为稳定的api。此时,您可以安全地切换到 es6 模块。我会通过设置 babel 和构建过程来将 es6 模块转换为 commonjs 模块来避免增加复杂性。
这意味着,现在,您可以安全地忽略 VS 代码中的该警告。VS Code 正在暗示您切换到 es6 模块,因为它们被设计为 javascript 的通用模块系统,但正如您想象的那样,采用过程需要时间才能完成。
实际上还有第四种选择,但它要求您采用 typescript(顺便说一句,这是中大型项目的一个不错选择):使用 typescript 编写源代码,然后让 typescript 编译器将其转译回 node - 兼容的 javascript 代码。
Typescript 开箱即用地使用 es6 模块系统,因此通过采用 typescript,您将从一开始就使用 es6 模块系统。
归档时间: |
|
查看次数: |
3757 次 |
最近记录: |