У меня есть приложение Angular, которое прекрасно работает, когда я делаю ng serve
из командной строки. Однако, когда я помещаю приложение в контейнер Docker и пытаюсь запустить контейнер, я получаю эту ошибку в DOM (просто отрывок):
Uncaught Error: Template parse errors:
Can't bind to 'formGroup' since it isn't a known property of 'form'. ("
<div class="col-md-6 offset-md-3">
<h2>Register new User</h2>
<form [ERROR ->][formGroup]="registerForm" (ngSubmit)="onSubmit()">
<div class="form-group">
"): ng:///AppModule/RegisterComponent.html@5:14
No provider for ControlContainer ("
<div class="col-md-6 offset-md-3">
<h2>Register new User</h2>
[ERROR ->]<form [formGroup]="registerForm" (ngSubmit)="onSubmit()">
<div class="form-group">
"): ng:///AppModule/RegisterComponent.html@5:8
No provider for NgControl ("
<div class="form-group">
<label>First Name</label>
[ERROR ->]<input type="text" formControlName="firstName"
class="form-control" [ngClass]="{ 'is-invalid': submit"): ng:///AppModule/RegisterComponent.html@8:12
No provider for NgControl ("
<div class="form-group">
<label>Last Name</label>
[ERROR ->]<input type="text" formControlName="lastName" class="form-control" [ngClass]="{ 'is-invalid': submitt"): ng:///AppModule/RegisterComponent.html@15:12
ng:///AppModule/RegisterComponent.html@39:12
at syntaxError (compiler.js:215)
at
TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse (compiler.js:14702)
at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate (compiler.js:22709)
Мой Dockerfile (который создается в правильном месте) выглядит следующим образом:
# Stage 1 Build
FROM node:8.11.3
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
ENV PATH ./node_modules/bin:$PATH
COPY package*.json ./
RUN npm install
RUN npm install -g @angular/cli@6.0.8
COPY . /usr/src/app
CMD ng serve --host 0.0.0.0
#Stage 2
FROM nginx:alpine
COPY nginx.conf /etc/nginx/nginx.conf
WORKDIR /usr/share/nginx/html
COPY dist/ .
Многие из исследованных мною ранее решений включали внесение изменений в файл app.module.ts
, позволяющих импортировать и экспортировать FormsModule
и ReactiveFormsModule
:
exports: [FormsModule, ReactiveFormsModule, CommonModule],
imports: [
BrowserModule,
FormsModule,
HttpClientModule,
HttpModule,
ReactiveFormsModule,
CommonModule,
RouterModule.forRoot(appRoutes)
Но я до сих пор не смог заставить это работать через Докер. Кто-нибудь сталкивался с этой проблемой в прошлом?