【问题标题】:NodeJS: Cannot use import statement outside a module(already tried type :"module")NodeJS:不能在模块外使用导入语句(已经尝试过类型:“模块”)
【发布时间】:2021-08-12 03:52:23
【问题描述】:

我从客户端收到了一个 NodeJS 应用程序并尝试启动并运行它。我收到的第一个问题是“不能在模块外使用 import 语句”。所以,我尝试在 package.json 中包含“type”:“module”,但它仍然无法正常工作。在包含上述行后提供“nodemon src\server.js”命令后,我收到错误 [ERR_MODULE_NOT_FOUND]: Cannot find module 'D:\Projects\MyApp\APIs\src\app' 从 D:\Projects\MyApp\ 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

【问题讨论】:

  • 答案有影响吗?

标签: node.js import


【解决方案1】:

可以使用节点模块结构来解决:

完整命令:

node --experimental-modules --es-module-specifier-resolution=node app.js

更多详情请查看this

【讨论】:

    猜你喜欢
    • 2021-07-05
    • 2020-03-21
    • 2021-12-28
    • 1970-01-01
    • 2021-09-01
    • 2020-07-14
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多