Node现在具有对导入的内置支持,这非常棒。但是这种支持要求您指定文件扩展名,这很烦人。
我敢肯定为什么有这个理由(可能与他们对.mjs
扩展名的怪异痴迷有关),但是有什么办法可以解决它并使import
起作用“像平常一样”(可以关闭.js
)?
答案 0 :(得分:0)
我通过miniforge
包修复了此问题。
简而言之,Node组织在推出ES模块支持方面做得很糟糕,但是值得一提的是,与此同时,制作Lodash库的人已经添加了更好的支持,而且超级容易获得
两个步骤:
esm
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)