Я создал рабочее пространство nx и запустил внутри него проект nestjs, основанный на проекте https://github.com/nartc/nest-mean.
При первой попытке обслуживания проекта он компилируется, но не запускается с сообщением об ошибке
/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:844
throw new Error("Cannot parse config file: '" + fullFilename + "': " + e3);
^
Error: Cannot parse config file: '/mnt/LinuxData/linuxDev/nest-mean-nrwl/config/development.ts': SyntaxError: Unexpected token export
at Config.util.parseFile (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:844:11)
at /mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:600:28
at Array.forEach (<anonymous>)
at /mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:596:14
at Array.forEach (<anonymous>)
at Config.util.loadFileConfigs (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:595:13)
at new Config (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:136:27)
at Object.<anonymous> (/mnt/LinuxData/linuxDev/nest-mean-nrwl/node_modules/config/lib/config.js:1649:31)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.config (/mnt/LinuxData/linuxDev/nest-mean-nrwl/dist/apps/mean-be/webpack:/external "config":1:1)
Я поиграл с кодом в отдельном проекте nestjs и обнаружил, что tsconfig.json требует, чтобы модуль был commonjs вместо esnext.
Я предполагал, что переопределить этот параметр в среднестатистическом tsconfig.json будет просто.
Файл apps / mean-be / tsconfig.json становится:
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"module": "commonjs", *<-- override to module added here*.
"types": [
"node",
"jest"
]
},
"include": [
"**/*.ts"
]
}
но похоже, что это ничего не делает, оно компилируется, но не запускается с тем же сообщением об ошибке, что и раньше.
Мне нужно изменить настройку в глобальном файле tsconfig.json, чтобы tsconfig.json стал:
{
"compileOnSave": false,
"compilerOptions": {
"rootDir": ".",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2015",
"module": "commonjs", <-- changed from esnext to commonjs
"typeRoots": ["node_modules/@types"],
"lib": ["es2017", "dom"],
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"baseUrl": ".",
"paths": {}
},
"exclude": ["node_modules", "tmp"]
}
(Полная копия проекта доступна по адресу https://github.com/DouglasWebster/nest-mean-nrwl)
Я что-то не так делаю, пытаясь переопределить модуль в файле проекта tsconfig.json, или это ошибка, о которой следует сообщить?
Кроме того, если это так, как оно должно работать, то оставит ли глобальный tsconfig.json с "module": "commonjs"
проблемы при попытке добавить угловой сервер переднего плана в проект?
Любая помощь будет с благодарностью, спасибо.