angular - 在Windows中的 Angular 项目中更改任何内容时Docker都不会重新编译

标签 angular docker

我正在尝试对我的 Angular 应用程序进行对接,为此,我创建了一个Dockerfile。但是,每当我尝试编辑或更新任何组件时,都不会重新编译我的 Angular 应用程序。这是dockerfile:

FROM node:latest

RUN mkdir /usr/src/app
WORKDIR /usr/src/app

RUN npm install -g @angular/cli

COPY . /usr/src/app

RUN npm install
CMD ng serve --host 0.0.0.0 --port 4200

在docker运行期间,这里是我使用的命令。
docker run -it -v ${PWD}:/usr/src/app -p 4200:4200 angular-docker-image

知道为什么它没有崩溃吗,我现在该怎么办?

最佳答案

Windows系列(Docker工具箱)或Windows Linux子系统

在Docker Toolbox或WLS上运行时,Windows的文件更改事件系统不会在VM(或子系统)中触发任何事件,因此不会通知观察者。

Windows在build #14942上的Insider程序中进行了更新,但仅在Windows记事本上有效。

Windows专业版

如果您正在使用Windows Professional并使用Docker For Windows,则它是known issue

解决方法是使用文件查看器的轮询功能。对于Angular:
ng serve --poll <period_in_ms>

关于angular - 在Windows中的 Angular 项目中更改任何内容时Docker都不会重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58728042/

相关文章:

angular - 如何检查无法读取未定义的属性 'testUndefined'

docker - Prometheus 连接 Kubernetes 时出现 "Connect: Connection Refused"

apache-spark - 无法使用Spark在Docker上运行Cassandra

Docker - 是否可以重新创建卷容器而不重新创建使用它的容器

docker - Podman 容器无法通过主机名看到彼此

python - Docker 容器中缺少 python 包

javascript - 为什么 ngOnChanges() 在 @Input() 更新数据 Angular 8 时不会触发?

Angular Material 找不到 Angular Material 核心主题

angular - 我可以从字符串创建 TemplateRef 吗?

javascript - Angular Material - 意外值 'MdDialog'