node.js - 无法在 Docker 中编译 typescript

标签 node.js docker typescript dockerfile

我想在我的 node.js Web 服务器中使用 typescript。但是,Web 服务器位于 Docker 容器中。我像打击一样使用 Dockerfile:

FROM node:latest
COPY code/ /usr/local/lib
WORKDIR /usr/local/lib

RUN npm install -g koa@2
RUN npm install -g sequelize
RUN npm install -g mysql
RUN npm install -g typescript

CMD ["sh", "-c", "rm", "webApp.js"]
CMD ["sh", "-c", "tsc", "webApp.ts"]
CMD ["node", "webApp.js"]

构建 Docker 后,我发现在执行 CMD 命令后没有生成 webApp.js。 为什么,我应该如何解决它?谢谢。

最佳答案

在创建 Dockerfile 时的最佳实践中,您应该只使用一个 CMD 和一个 ENTRYPOINT

在你的情况下,它应该是:

COPY code/ /usr/local/lib
WORKDIR /usr/local/lib

RUN npm install -g koa@2
RUN npm install -g sequelize
RUN npm install -g mysql
RUN npm install -g typescript

RUN sh -c rm webApp.js
RUN sh -c tsc webApp.ts
CMD ["node", "webApp.js"]

关于node.js - 无法在 Docker 中编译 typescript ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38280217/

相关文章:

node.js - 如何在不同的模块中构建 NodeJS 应用程序?

node.js - 443 apache SSL 端口和 8888 https 监听端口不起作用 - Node.js - socket.io

python - 无法跟踪 python pcapy 包装器中的错误

docker - docker-compose:在 `php-fpm`结束之前,有什么方法可以阻止 `db`启动吗?

javascript - 无法通过 Angular 管道搜索对象数组值

html - 模板似乎只等待 Observable 产生一次

node.js - NodeJS 请求 promise ERR_TLS_CERT_ALTNAME_INVALID

node.js - NodeJS Docker 当前与最新

java - 如何连接eclipse和docker

angular - 仅当单击按钮两次时才显示值