首页 > 解决方案 > 在 Node v14+ 中使用导入状态而不添加 .js 扩展名

问题描述

在 Node v12 中,我通过添加以下标志来使用 ESM 导入:

node --experimental-modules --experimental-json-modules --es-module-specifier-resolution=node index.js

这让我可以做到以下几点:

import myFunc from "./lib/myFunc"

现在,在 Node v14 中,我们显然不再需要实验模块标志。但是,当我运行时,node index.js我收到一个错误,告诉我我的导入需要.js像这样扩展:

import myFunc from "./lib/myFunc.js"

这是预期的行为吗?如果是这样,为什么他们突然增加了对.js扩展的需求,而以前没有。我得到的确切错误是:

Cannot find module 'c:\xxx\lib\myFunc' imported from c:\xxx\index.js
Did you mean to import ../lib/myFunc.js?

标签: javascriptnode.jsimport

解决方案


推荐阅读