Node.js NodeJs类型脚本和模块问题
我有一个typescript中的测试nodeJS服务器代码。 尝试运行ts文件时出现以下错误: TypeError[错误未知文件扩展名]:未知文件扩展名“.ts” mypackage.jsonNode.js NodeJs类型脚本和模块问题,node.js,angular,typescript,Node.js,Angular,Typescript,我有一个typescript中的测试nodeJS服务器代码。 尝试运行ts文件时出现以下错误: TypeError[错误未知文件扩展名]:未知文件扩展名“.ts” mypackage.json { "name": "server", "version": "1.0.0", "description": "server", "main": "server.ts", "type": "module", "scripts": { "test": "test server
{
"name": "server",
"version": "1.0.0",
"description": "server",
"main": "server.ts",
"type": "module",
"scripts": {
"test": "test server",
"prebuild": "tslint -c tslint.json -p tsconfig.json --fix",
"build": "tsc",
"prestart": "npm run build",
"start": "node .",
"tsc": "tsc"
},
"author": "HL",
"license": "ISC",
"devDependencies": {
"@types/node": "^14.0.6",
"tslint": "^6.1.2",
"typescript": "^3.9.5"
},
"dependencies": {
"@types/express": "^4.17.6",
"ejs": "^3.1.3",
"express": "^4.17.1",
"http": "0.0.1-security",
"mysql": "^2.18.1",
"util": "^0.12.3"
}
}
注意:我需要使用type:module,因为删除它时会出现错误:
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1067:16)
at Module._compile (internal/modules/cjs/loader.js:1115:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1171:10)
at Module.load (internal/modules/cjs/loader.js:1000:32)
at Function.Module._load (internal/modules/cjs/loader.js:899:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
请提供帮助。您需要在使用node运行之前进行编译,或者使用ts node运行您的typescript。此外,这可能是由于您的tsconfig和imports导致的问题。您需要在使用node运行之前进行编译,或者使用ts node运行您的typescript。此外,这可能是由于您的tsconfig和导入导致的问题。从
package.json
文件中删除“type”:“module”
希望这有帮助。从package.json
文件中删除“type”:“module”
希望这有帮助。这可能来自多个方面(如果我忘记了什么,请发表评论,因为这是一个有点通用的配置错误):
package.json
中的main
字段更改为/server.js
,以引用生成的文件而不是typescript文件module
字段tsconfig.json
更改为CommonJS
,以避免构建ES6模块(这是一个问题,尤其是webpack这可能来自多个方面(如果我忘记了一些东西,请给出注释,因为这是一个有点通用的配置错误):
package.json
中的main
字段更改为/server.js
,以引用生成的文件而不是typescript文件module
字段tsconfig.json
更改为CommonJS
,以避免构建ES6模块(这是一个问题,尤其是webpack您需要将其编译为js,或使用ts节点您需要将其编译为js,或使用ts节点但当您删除“type”:“module”时,您不能使用导入。@BrokolicovýDžuß这是正确的。
ts节点
似乎不适合此目的。但是当您删除“type”:“module”您不能使用导入。@BrokolicovýDžuß这是正确的。ts节点
似乎不适合使用。