我收到了来自客户端的 NodeJS 应用程序,并尝试启动并运行它。我收到的第一个问题是“不能在模块外使用导入语句”。所以,我尝试在 package.json 中包含 "type": "module" 但它仍然无法正常工作。在包含上述行后提供“nodemon src\server.js”命令时,我收到错误 [ERR_MODULE_NOT_FOUND]: 找不到从 D:\Projects\MyApp\ 导入的模块 'D:\Projects\MyApp\APIs\src\app' APIs\src\server.js
当我改变时
import app from './app';
与
import app from './app.js';
错误消失,但它发生在其他导入上。例如: 错误 [ERR_MODULE_NOT_FOUND]:找不到从 D:\Projects\MyApp\APIs\src\app.js 导入的模块“D:\Projects\MyApp\APIs\src\routes\user”
再说一次,如果我改变了
import UserRoutes from './routes/v1/user/user';
与
import UserRoutes from './routes/v1/user/user.js';
此导入的错误消失,但再次弹出其他导入语句。有很多js文件,它们只是这样导入的。我是否需要在所有导入的地方都包含扩展名,或者有没有办法解决它? 我使用的节点版本是 14.17.0
答案 0 :(得分:1)
您可以使用节点模块结构来解决:
完整命令:
node --experimental-modules --es-module-specifier-resolution=node app.js
有关详细信息,请查看 this。