を使用して一連のテストを実行するTypescript
で書かれたプロジェクトがあります。 いくつかの理由でテストを実行するには、Docker
コンテナを作成する必要があります。プロジェクトながらDockerコンテナでTypescriptのインポートステートメントが動作しない
はローカルで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
私は同じフォルダをcontaineriseとドッキングウィンドウの画像からnpm test
を実行すると、活字体の輸入が認識されていないようです。
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
私のドッキングウィンドウの画像は、それが来るとして基本的なものです:
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" ]
ドッキングウィンドウコンテナは私の地元のnpm test
コマンドに異なった動作を、なぜ私は本当にわからないんです。私はローカルで私が窓についていて、ドッカーのコンテナがそうでないからだと仮定しよう。しかし、私は本当にこれをデバッグする方法が不明です。
Typescriptのインポートがドッカー内で私が期待しているように動作しない理由について、誰でも指摘できますか? もし何か助けがあれば、Typescriptコードのいくつかに貼り付けることができます。