Ich habe ein Projekt in Typescript
geschrieben, das jasmine-ts
verwendet, um eine Reihe von Tests auszuführen. Ich muss einen Docker
Container erstellen, um die Tests aus einigen Gründen auszuführen.Typescript-Importanweisungen, die nicht in einem Docker-Container funktionieren
Während das Projekt lokal läuft OK npm test
:
c:\github\gareththegeek\corewar>npm test
> [email protected] test c:\github\gareththegeek\corewar
> nyc jasmine-ts
Started
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
503 specs, 0 failures
Finished in 0.893 seconds
Wenn ich den gleichen Ordner containerise und npm test
vom Docker Bild laufen, die Typoskript Einfuhren scheinen nicht erkannt zu werden.
c:\github\gareththegeek\corewar>docker run corewar
> [email protected] test /usr/src/app
> nyc jasmine-ts
/usr/src/app/node_modules/ts-node/src/index.ts:307
throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset))
^
TSError: ⨯ Unable to compile TypeScript
parser/Expression.ts (1,29): Cannot find module './interface/IExpression'. (2307)
parser/Expression.ts (2,39): Cannot find module './interface/IToken'. (2307)
parser/Expression.ts (3,30): Cannot find module './interface/ITokenStream'. (230
Mein Docker Bild ist so einfach, wie es kommt:
FROM node:carbon
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
COPY package*.json ./
RUN npm install
# Bundle app source
COPY . .
CMD [ "npm", "test" ]
mir wirklich nicht sicher bin, warum die Docker Container anders zu meinem lokalen npm test
Befehl verhalten. Ich gehe davon aus, dass es lokal ist, weil ich auf Windows bin und der Docker-Container nicht. Aber ich bin mir nicht sicher, wie ich das debuggen soll.
Kann irgendjemand irgendwelche Hinweise geben, warum Typoskript-Importe nicht so funktionieren, wie ich sie erwarte? Ich kann einige der Typoskript-Code einfügen, wenn es irgendeine Hilfe ist.