Node.js 13.2对ES模块的支持与Babel

时间:2019-12-19 23:47:43

标签: node.js ecmascript-6 babeljs

从Node.js 13.2开始,支持ES模块而没有标志。我有一个支持babel的ES模块语法的大型项目,现在我想尽可能删除babel。但是,这似乎并不像在我的"type": "module"上添加package.json并删除babel那样简单。

其中之一是,我的任何导入语句最后都没有包含.js。大多数看起来像import Thing from './thing',是用来从thing.js文件导入默认导出的。 ES模块的Node实现似乎最后需要.js(如果没有它,我会得到一个Cannot find module...错误)。我希望不必四处重命名我的每个进口商品,以.js结尾。

我还有大量的模块组织为文件夹,其中包含index.js,用于控制模块的公共界面。每次使用此功能时,只会导入文件夹名称(import Thing2, { otherThing } from './thing2会导入./thing2/index.js的默认导出)。这似乎也给了我一个Cannot find module...错误,再次,我不想将所有内容都更改为import from ./thing2/index.js

我实际上不是在乎ES模块规范,而只是一些额外的Babel糖吗?是否仍会在Node中对此提供支持?找不到文档来解释Node应该如何处理这两个示例的问题。

0 个答案:

没有答案