Угловое развертывание - apiUrl не существует для типа {production: boolean} - PullRequest
1 голос
/ 09 июня 2019

Я разработал приложение Angular 7 с бэкэндом Laravel.При попытке создать и развернуть для производства я получил ошибку.

src / app / services / user.service.ts (10,32): ошибка TS2339: свойство 'apiUrl' не существует вtype '{production: boolean;} '.

В угловом окне я запустил это:

ng build --prod

environment.ts

export const environment = {
  production: false,
  apiUrl:   'http://example.com/api',   
};

user.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { environment } from 'src/environments/environment';

@Injectable({
  providedIn: 'root'
})
export class UserService {

 private API_URL= environment.apiUrl;


  constructor(private http: HttpClient) { }

  login(email, password) {
const obj = {
  email: email,
  password: password
};
console.log(obj);
this.http.post(this.API_URL + '/login', obj)
    .subscribe(res => console.log('login Done',res));
  }

}

Вкл.

ng build --prod

Я ожидаю, что он будет построен тогда япоместите файл dist на онлайн-сервер.

Это ошибка:

src / app / services / user.service.ts (10,32): ошибка TS2339: свойство'apiUrl' не существует для типа '{production: boolean;} '.

Примечание: я делаю это впервые.

1 Ответ

1 голос
/ 09 июня 2019

файл environment.ts будет заменен во время сборки, ng build --prod заменяет environment.ts на environment.prod.ts, поэтому просто добавьте свойство apiUrl к классу среды в environment.prod.ts file

export const environment = {
  production: true,
  apiUrl:   'http://example.com/api', 
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...