小编gar*_*258的帖子

Docker容器不会重新加载Angular应用程序

ng serve在运行的docker容器中遇到了一些问题docker-compose.

Dockerfile

FROM node:7.1

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app
RUN npm install
RUN npm install -g angular-cli
COPY . /usr/src/app

EXPOSE 4200

CMD [ "npm", "start" ]'
Run Code Online (Sandbox Code Playgroud)

还有我的docker-compose.yml

web:
    build: .
    ports:
        - '8089:4200'
    volumes:
        - .:/usr/src/app/
    environment:
        - NODE_ENV=dev
    command: bash -c "npm start"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,一切都很好,但编辑文件不会重新加载应用程序.文件已更改,我确定因为我通过ssh连接检查它并且编辑了容器中的文件.当容器重新启动时,每次更改都会应用.我想当我只用码头工人用建筑图像切换来构图时这会消失,但不要.

当我通过docker exec webpack重新加载所有文件来调用触摸某个文件时,无需重新启动容器即可工作.

有人有解决方案吗?

containers docker docker-compose angular

15
推荐指数
3
解决办法
8661
查看次数

ValueObject的抽象

我正在尝试使用ValueObject学习编码.我有关于VO的抽象实现的问题,而子类扩展了它.孩子们只会实现给定值的验证方法(电子邮件,用户名等).我的第一个VO看起来在下面是业务规则,这些规则在构造函数中进行验证.

final class Email {
    private $email;

    public function __construct(string $email)
    {
        $this->validateEmail($email);

        $this->email = $email;
    }

    public function value() : string
    {
        return $this->email;
    }

    private function validateEmail(string $email) : void
    {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            throw new IncorrectEmailException();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我写第二个VO时,我发现了一些不同的模式,只有验证规则(方法validate).所以我想到了一些抽象类实现模式,让child改进验证规则.

abstract class ValueObject {

    protected $value;

    public function __construct($value)
    {
        $this->validate($value);

        $this->value = $value;
    }

    public function value()
    {
        return $value;
    }

    abstract protected function validate($value) : void;
}

final class Email extends ValueObject …
Run Code Online (Sandbox Code Playgroud)

php oop inheritance abstract-class domain-driven-design

1
推荐指数
2
解决办法
210
查看次数