我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重新加载所有文件来调用触摸某个文件时,无需重新启动容器即可工作.
有人有解决方案吗?
我正在尝试使用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)