我在我的项目中使用NX。当我跑的时候:
nx serve api
我有这个错误:0:07:38 AM-正在监视模式下启动编译... 10:07:41 AM-找到0个错误。查看文件更改。调试器侦听ws://localhost:9229/eaf65d56 - 25a0 - 4093-b137-ccf4d22ba251调试器侦听ws://localhost:9229/eaf65d56 - 25a0 - 4093-b137-ccf4d22ba251有关帮助,请参阅:[https://nodejs.org/en/docs/inspector](https://nodejs.org/en/docs/inspector)(节点:24118)警告:要加载ES模块,请设置“type”:在package.json中使用"module"或使用. mjs扩展名。(使用
node --trace-warnings ...显示创建警告的位置)/home/beta/Téléchargements/Cell-iA/Transcription IA/transcription-ia/dist/src/main. js:1 import {containerIoc} from './container-ioc';^^^^^^ 语法错误:无法在Object的模块外部使用import语句。compileFunction(node:vm:352:18)在wrapSafe(节点:internal/modules/cjs/loader:1032:(15)模块。_compile(节点:internal/modules/cjs/loader:1067:27)在Object.Module._extensions..js(节点:internal/modules/cjs/loader:1157:10)在模块上。load(node:internal/modules/cjs/loader:九八一:32)在Function.Module._load(节点:internal/modules/cjs/loader:八二二:12)在Function.Module._load(/home/beta/Téléchargements/Cell-iA/Transcription IA/transcription-ia/packages/js/src/executors/node/node-with-require-overrides. ts:11:38)在ModuleWrap.(node:internal/modules/esm/translators:168:29)at www.example.com(node:internal/modules/esm/module_job:197:25)at async Promise. all(index 0)
ModuleJob.run (node:internal/modules/esm/module_job:197:25) at async Promise.all (index 0) `
这是我的Tsfiles:
tsconfig.app.json:
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"types": ["node", "jest", "express"],
"esModuleInterop": true,
"noImplicitAny": true,
"strict": true,
"resolveJsonModule": true,
"allowJs": true,
"moduleResolution": "node",
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"sourceMap": true
},
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.test.ts"],
"include": ["src/**/*.ts"],
"ts-node": {
"require": ["tsconfig-paths/register"]
}
}
tsconfig.json:
{
"extends": "../../tsconfig.base.json",
"files": ["./custom.d.ts"],
"references": [
{
"path": "./tsconfig.app.json"
},
{
"path": "./tsconfig.spec.json"
}
],
"compilerOptions": {
"baseUrl": ".",
"composite": true,
"declaration": true,
"paths": {
"@transcription-ia/api-interfaces": [
"../../libs/api-interfaces/src/index.ts"
],
"@transcription-ia/common-entities": [
"../../libs/common-entities/src/index.ts"
],
"@transcription-ia/helpers": ["../../libs/helpers/src/index.ts"]
}
}
}
tsconfig.base.json:
{
"compileOnSave": false,
"compilerOptions": {
"rootDir": ".",
"moduleResolution": "node",
"sourceMap": true,
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"module": "ESNext",
"lib": ["es2020", "dom"],
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"baseUrl": ".",
"paths": {
"@transcription-ia/api-interfaces": ["libs/api-interfaces/src/index.ts"],
"@transcription-ia/common-entities": ["libs/common-entities/src/index.ts"]
}
},
"exclude": ["node_modules", "tmp"]
}
project.json:
{
"name": "api",
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"sourceRoot": "apps/api/src",
"projectType": "application",
"targets": {
"build": {
"executor": "@nx/js:tsc",
"outputs": ["{options.outputPath}"],
"options": {
"outputPath": "dist/",
"main": "apps/api/src/main.ts",
"tsConfig": "apps/api/tsconfig.app.json",
"assets": ["apps/api/src/assets"],
"transformers": [
{
"name": "typescript-transform-paths/nx-transformer"
}
]
}
},
"serve": {
"executor": "@nx/js:node",
"defaultConfiguration": "development",
"options": {
"buildTarget": "api:build"
},
"configurations": {
"development": {
"buildTarget": "api:build:development"
},
"production": {
"buildTarget": "api:build:production"
}
}
},
"lint": {
"executor": "@nx/linter:eslint",
"outputs": ["{options.outputFile}"],
"options": {
"lintFilePatterns": ["apps/api/**/*.ts"]
}
},
"test": {
"executor": "@nx/jest:jest",
"outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
"options": {
"jestConfig": "apps/api/jest.config.ts",
"passWithNoTests": true
},
"configurations": {
"ci": {
"ci": true,
"codeCoverage": true
}
}
}
},
"tags": []
}
package.json:
{
"name": "transcription-ia",
"version": "0.0.0",
"license": "MIT",
"scripts": {},
"private": true,
"devDependencies": {
"@babel/preset-react": "^7.14.5",
"@nx/cypress": "16.1.3",
"@nx/esbuild": "16.1.3",
"@nx/eslint-plugin": "16.1.3",
"@nx/jest": "16.1.3",
"@nx/js": "16.1.3",
"@nx/linter": "16.1.3",
"@nx/node": "16.1.3",
"@nx/react": "16.1.3",
"@nx/vite": "16.1.3",
"@nx/workspace": "16.1.3",
"@swc/cli": "~0.1.62",
"@swc/core": "~1.3.51",
"@testing-library/react": "14.0.0",
"@types/express": "~4.17.13",
"@types/jest": "^29.4.0",
"@types/node": "18.14.2",
"@types/react": "18.0.28",
"@types/react-dom": "18.0.11",
"@types/uuid": "^9.0.1",
"@typescript-eslint/eslint-plugin": "^5.58.0",
"@typescript-eslint/parser": "^5.58.0",
"@vitejs/plugin-react": "^3.0.0",
"@vitest/coverage-c8": "^0.31.0",
"@vitest/ui": "^0.31.0",
"cypress": "^12.11.0",
"esbuild": "^0.17.17",
"eslint": "~8.15.0",
"eslint-config-prettier": "8.1.0",
"eslint-plugin-cypress": "^2.10.3",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-jsx-a11y": "6.7.1",
"eslint-plugin-react": "7.32.2",
"eslint-plugin-react-hooks": "4.6.0",
"jest": "^29.4.1",
"jest-environment-node": "^29.4.1",
"jsdom": "~20.0.3",
"nx": "16.1.3",
"prettier": "^2.6.2",
"react-test-renderer": "18.2.0",
"ts-jest": "^29.1.0",
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.2.0",
"typescript": "~5.0.2",
"vite": "^4.3.4",
"vite-plugin-eslint": "^1.8.1",
"vite-tsconfig-paths": "^4.0.2",
"vitest": "^0.31.0"
},
"dependencies": {
"@faker-js/faker": "^7.6.0",
"@gladiaio/sdk": "^0.10.71",
"@swc/helpers": "~0.5.0",
"@types/bcrypt": "^5.0.0",
"@types/cors": "^2.8.13",
"@types/jsonwebtoken": "^9.0.2",
"@types/multer": "^1.4.7",
"awilix": "^8.0.1",
"awilix-express": "^8.0.0",
"axios": "^1.0.0",
"bcrypt": "^5.1.0",
"cors": "^2.8.5",
"express": "~4.18.1",
"helmet": "^7.0.0",
"jsonwebtoken": "^9.0.0",
"multer": "^1.4.5-lts.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"stripe": "^12.4.0",
"tslib": "^2.3.0"
}
}
我已经安装了ts-node,但我有同样的问题
你能帮帮我吗?
想运行nx服务api
1条答案
按热度按时间hjzp0vay1#
如果您使用的是ES模块,您的
package.json
必须具有否则,
node
(运行程序,而不是编译器)将尝试将代码作为非模块文件启动,从而导致上面的“无法将ES模块作为CommonJS模块运行”运行时错误另一种解决方案是将
tsconfig.json
module
设置为CommonJS
,这不是您想要的旁注:尝试将https://github.com/esbuild-kit/tsx作为
ts-node
的替代品,因为它具有内置的监视器和更多固定的角落情况,是一种更稳定、更高效的解决方案。