node.js - Nrwl Nx bygger Node-projektet endast genom att transpilera main.ts
Jag är ny på Nrwl och monorepos. Jag har en Node-app som jag försöker bygga med nx build [project-name]. Min Node-app har ett antal TypeScript-filer i en mappstruktur under src-mappen där main.ts finns. När jag kör nx build [project-name] blir bara main.ts-filen transpilerad till en .js-fil i out-mappen. Jag har dragit av mig håret idag medan jag har testat olika tsconfig-varianter för att få hela appen att transpileras till out-mappen, men utan framgång. Jag har varit tvungen att ta till tsc --project ./apps/[project-name]/tsconfig.app.json för att transpilerar hela appen. Är det ens möjligt att få NX att transpilerar ett helt Node-projekt?
Här är min tsconfig för projektet:
//tsconfig.app.json
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist",
"types": [
"node"
]
},
"exclude": [
"**/*.spec.ts"
],
"include": [
"**/*.ts"
]
}
//tsconfig.base.json
{
"compileOnSave": false,
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"rootDir": ".",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es2017",
"module": "commonjs",
"esModuleInterop": true,
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
],
"skipLibCheck": true,
"skipDefaultLibCheck": true,
"baseUrl": ".",
"paths": {
"@work-orders/interfaces": [
"libs/interfaces/src/index.ts"
],
"@work-orders/domain": [
"libs/work-orders-domain/src/index.ts"
]
}
},
"exclude": [
"node_modules",
"tmp"
]
}
Svar #1
Jag stötte precis på samma problem. Det verkar som att du måste använda @nrwl/workspace:run-commands-funktionen för att köra tsc --project ./apps/[project-name]/tsconfig.app.json