Javascript SyntaxError:在没有模块的情况下无法使用导入语句,TypeError[错误未知文件扩展名]:Catch 22

Javascript SyntaxError:在没有模块的情况下无法使用导入语句,TypeError[错误未知文件扩展名]:Catch 22,javascript,node.js,typescript,Javascript,Node.js,Typescript,我在node js上遇到了一些问题 以下是相关代码(app.ts): 我得到的错误是: (node:16524) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. (Use `node --trace-warnings ...` to show where the warning was created) C:

我在node js上遇到了一些问题

以下是相关代码(
app.ts
):

我得到的错误是:

(node:16524) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
(Use `node --trace-warnings ...` to show where the warning was created)
C:\Users\010bo\OneDrive\Documents\GitHub\rpg-backend\app\app.ts:4
import { Request, Response } from "express";
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at wrapSafe (internal/modules/cjs/loader.js:1117:16)
    at Module._compile (internal/modules/cjs/loader.js:1165:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
    at Module.load (internal/modules/cjs/loader.js:1050:32)
    at Function.Module._load (internal/modules/cjs/loader.js:938:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47
因此,我寻找解决方案并发现:

这告诉我:

将“type”:“module”添加到最近的父package.json

因此,在package.json中添加
“type”:“module”
。我现在得到的输出是:

internal/modules/run_main.js:54
    internalBinding('errors').triggerUncaughtException(
                              ^

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\Users\010bo\OneDrive\Documents\GitHub\rpg-backend\app\app.ts
[90m    at Loader.defaultGetFormat [as _getFormat] (internal/modules/esm/get_format.js:65:15)[39m
[90m    at Loader.getFormat (internal/modules/esm/loader.js:98:42)[39m
[90m    at Loader.getModuleJob (internal/modules/esm/loader.js:227:31)[39m
[90m    at async Loader.import (internal/modules/esm/loader.js:161:17)[39m {
  code: [32m'ERR_UNKNOWN_FILE_EXTENSION'[39m
}
所以我再次上网,寻找解决方案,并发现:

这告诉我:

从package.json中删除“type”:“module”

所以我想我发现自己陷入了第二十二条军规的境地。我不知道下一步该去哪里

我还尝试了另一种解决方案

显式命名扩展名为.mjs的文件。所有其他文件(如.js)将被解释为CommonJS,如果package.json中未定义类型,则这是默认值

这不起作用,要么给我相同的错误,要么给我不同的语法错误,我想这是因为我使用的是typescript

提前感谢所有能提供帮助的人。

const{Request,Response}=require(“express”)
其他的也一样

internal/modules/run_main.js:54
    internalBinding('errors').triggerUncaughtException(
                              ^

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for C:\Users\010bo\OneDrive\Documents\GitHub\rpg-backend\app\app.ts
[90m    at Loader.defaultGetFormat [as _getFormat] (internal/modules/esm/get_format.js:65:15)[39m
[90m    at Loader.getFormat (internal/modules/esm/loader.js:98:42)[39m
[90m    at Loader.getModuleJob (internal/modules/esm/loader.js:227:31)[39m
[90m    at async Loader.import (internal/modules/esm/loader.js:161:17)[39m {
  code: [32m'ERR_UNKNOWN_FILE_EXTENSION'[39m
}