首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角CLI &码头: ng服务变化检测非常慢

角CLI &码头: ng服务变化检测非常慢
EN

Stack Overflow用户
提问于 2018-04-19 21:59:44
回答 1查看 3.9K关注 0票数 6

我有一个在Docker容器中运行的角5.2应用程序,为了开发目的,我使用了角CLI的ng-serve来服务这个应用程序,该应用程序提供更改时的自动重新加载。我最初的工作服务命令;

ng serve --host 0.0.0.0 --port 80 --disable-host-check

这个功能很好,我可以像预期的那样从主机上访问服务的应用程序。

对于上面的内容,由于有各种来源,我添加了--poll 1000标志,它告诉CLI每1000 To轮询一次文件,否则它就不会检测到更改,因此不会重新编译和更新。我在这里的问题是,在文件被更改和在触发重新构建的坞容器中检测到的更改之间,延迟时间高达15-20秒。我已经确认文件更改被转换到容器中,因为我可以立即在容器中保存并查看更改时cat编辑的文件。我可以将轮询超时更改为1ms,这样可以将延迟减少到几秒钟,但这显然不是理想的,而且延迟仍然很大。

为何会有这样的延误呢?

  • OSX版本:10.11.6
  • 码头版本:Docker版本18.04.0-ce,构建3d479c0
  • 码头机器:0.14.0,build 89b8332
  • 码头组合:1.21.0
代码语言:javascript
复制
// docker-compose.yml
web-client:
  build:
    context: ../web-client/
    dockerfile: ./docker/Dockerfile
  ports:
    - "80:80"
  volumes:
    - ../web-client/:/var/www/web-client
  container_name: web-client



// Dockerfile
FROM node:9.11

COPY ./ /var/www/web-client

ENTRYPOINT ["/var/www/web-client/docker/entrypoint.sh"]



// entrypoint.sh
#!/usr/bin/env bash

cd /var/www/web-client

yarn run start



// package.json
"scripts": {
    ...
    "start": "ng serve --host 0.0.0.0 --port 80 --poll 1 --disable-host-check",
    ...
}
EN

回答 1

Stack Overflow用户

发布于 2018-07-07 19:06:18

这是我的设置相当快,

docker compose,向外部公开端口4200,挂载src文件夹以检测更改:

代码语言:javascript
复制
version: '2'
services:
  web:
    container_name: my-spa-dev
    build:
      context: ./
      dockerfile: Dockerfile.test
    ports:
      - "4200:4200"
    volumes:
      - ./src:/usr/src/app/src

Dockerfile.test:

代码语言:javascript
复制
FROM node:10
WORKDIR /usr/src/app

COPY package.json ./
COPY yarn.lock ./

RUN yarn install

COPY . .

CMD ["yarn", "start"]

docker-compose -f docker-compose.dev.yml up一起运行

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49930865

复制
相关文章

相似问题

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