是否可以使Node不需要“ .js”扩展名来导入?

时间:2019-08-15 22:16:39

标签: node.js es6-modules

Node现在具有对导入的内置支持,这非常棒。但是这种支持要求您指定文件扩展名,这很烦人。

我敢肯定为什么有这个理由(可能与他们对.mjs扩展名的怪异痴迷有关),但是有什么办法可以解决它并使import起作用“像平常一样”(可以关闭.js)?

2 个答案:

答案 0 :(得分:0)

我通过miniforge包修复了此问题。

简而言之,Node组织在推出ES模块支持方面做得很糟糕,但是值得一提的是,与此同时,制作Lodash库的人已经添加了更好的支持,而且超级容易获得

两个步骤:

  1. esm
  2. npm i esm(而不只是node -r esm index.js

如果您只是执行上述操作,则不需要任何特殊的Node标志(例如node index.js)或其他任何东西,ES模块语法(experimental-modules / import)可以完美地工作在您的应用程序中...包括不要求导入export

答案 1 :(得分:0)

您可以通过在package.json的顶级设置"type": "module"并使用--experimental-specifier-resolution=node命令行开关运行nodejs来实现此目的(适用于nodejs v14)