node.js - Nx - hvordan importere fra en annen modul når man bygger med tsc-eksekvutøren?
Jeg har et problem som ligner på det som er beskrevet i Bygge bibliotek med import fra et annet bibliotek ved bruk av NX Monorepo.
Jeg bruker nx monorepo med en node-app og et bibliotek. Appen bygges med @nrwl/js:tsc (ikke webpack som det er som standard) og deretter kjøres med @nrwl/node:node. Slik ser project.json ut:
"build": {
"executor": "@nrwl/js:tsc",
"outputs": ["{options.outputPath}"],
"options": {
"main": "apps/dep/src/main.ts",
"outputPath": "dist/apps/dep",
"tsConfig": "apps/dep/tsconfig.app.json"
}
},
"serve": {
"executor": "@nrwl/node:node",
"options": {
"buildTarget": "dep:build"
}
},
Å importere noe fra et annet bibliotek forårsaker et problem med byggingen på grunn av filer som ikke er under rootDir:
import { MyEnum } from '@zorro/types';
Dette løste jeg ved å bruke rådet fra spørsmålet ovenfor, og la til følgende innstillinger i tsconfig.app.json:
"compilerOptions": {
...
"incremental": false,
"paths": { "@zorro/*": ["dist/libs/*"] }
},
Dette fikk tsc til å fungere, men når jeg kjører med node, får jeg en feil:
Error: Cannot find module '@zorro/types'
Får ikke til å finne ut hva som må endres for å korrekt løse stien til biblioteket for den kompilerte main.js-filen.