angularjs - TS6059 i ignorerad katalog
Jag har en tsconfig.json-fil med följande:
{"compilerOptions": {
"module": "commonjs",
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"outDir": "./target/src/",
"rootDir": "./src/main/webapp/",
"sourceMap": true,
"experimentalDecorators": true
},
"exclude": ["node_modules", "target"]
}
När jag kör tsc får jag felet:
fel TS6059: Filen '../node_modules/ng2-select/components/ng2-select-config.ts' är inte under 'rootDir' 'main/webapp'. 'rootDir' förväntas innehålla alla källfiler.
Skurken verkar vara när jag försöker ladda ng2-select i en fil:
import {Component} from 'angular2/core';
import {select} from 'ng2-select';
Om jag kör tsc utan den andra importen är det okej. Om jag lägger till den andra får jag det felet.
Några idéer om varför det försöker kompilera ng2-select trots att det borde ignoreras?
Tack!
Svar #1
Detta är antingen ett problem med strukturen hos ng2-select-modulen eller en bugg i TypeScript-kompilatorn.
Problemet orsakas av att ha .ts och .d.ts-filer i samma katalog som varandra inom modulens katalog som du försöker ladda från. Detta verkar få TypeScript-kompilatorn att kompilera om modulen och sedan bli förvirrad eftersom den kompilerade något utanför rootDir.
Jag har haft samma problem och har tagit upp det på modulens GitHub-repositorium. Det här svaret kan hjälpa dig för tillfället även om det inte är idealiskt. Förhoppningsvis kommer det en lösning snart.
Uppdatering
Den senaste versionen åtgärdar detta problem.