首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保持构建目录与docker容器的一致性,该容器在从typescript编译时忽略测试目录

保持构建目录与docker容器的一致性,该容器在从typescript编译时忽略测试目录
EN

Stack Overflow用户
提问于 2016-06-11 03:00:49
回答 1查看 79关注 0票数 0

我们有一个生活在/src的typescript应用程序。我们有生活在/tests中的测试。在本地,当我们运行TSC时,它编译这两个文件,并将它们分别存放到/dist/src/dist/test中。

我们还有一个Dockerconfig,它告诉docker忽略一堆开发文件,包括/tests。当Docker运行tsc时,它只看到/src,所以它将所有的/src存放到/dist --这意味着当我们有--例如--一个本地编译成/dist/src/services/whatever.js的/services文件夹时;我们在容器中的/dist/services/whatever.js看到它。

我们的dockerfile很小,它们只是运行TSC并设置入口点。我们是否需要对dockerfile更加明确?这是一个人们已经找到了优雅的解决方案的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-11 03:37:39

如果不确切知道安装了什么目录,以及在docker容器中的什么位置,就很难说出来,但这听起来像是一个应该使用tsconfig.json解决的问题,如果必要的话,可能需要创造性地使用docker文件。

例如,我有一个用于tsc的dockerfile,它看起来像这样:

代码语言:javascript
复制
FROM alpine:latest

RUN apk update && apk add nodejs && rm -rf /var/cache/apk/*
RUN npm install -g typescript@~1.6
RUN mkdir /tsc
WORKDIR /tsc

ENTRYPOINT ["tsc"]

该容器将按如下方式执行:

代码语言:javascript
复制
docker run tsc -v "./:/tsc"

如果我的目录树是这样的:

代码语言:javascript
复制
.
├── tsconfig.json
├── dist
├── src
├── test

然后,我看到了tsconfig.json的几种不同可能性

代码语言:javascript
复制
{
  "compilerOptions": {
    "rootDir": "src",
    "outDir": "dist/src"
  }
}

代码语言:javascript
复制
{
  "exclude": ["test"]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37755467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档