Angular 部署 - apiUrl 不存在于 {production : boolean} 类型

use*_*561 4 api laravel angular

我开发了一个带有 Laravel 后端的 Angular 7 应用程序。在尝试为生产构建和部署时,我遇到了一个错误。

src/app/services/user.service.ts(10,32): 错误 TS2339: 属性 'apiUrl' 不存在于类型 '{ production: boolean; }'。

在 angular cli 上,我运行了这个:

ng build --prod

环境.ts

export const environment = {
  production: false,
  apiUrl:   'http://example.com/api',   
};
Run Code Online (Sandbox Code Playgroud)

用户服务.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));
  }

}
Run Code Online (Sandbox Code Playgroud)

ng build --prod

我希望它能够构建,然后我将 dist 文件放在在线服务器上。

这是错误:

src/app/services/user.service.ts(10,32): 错误 TS2339: 属性 'apiUrl' 不存在于类型 '{ production: boolean; }'。

注意:我是第一次这样做。

mal*_*awi 15

environment.ts文件将在构建期间被替换, ng build --prod替换environment.tsenvironment.prod.ts因此只需将apiUrl属性添加到environment.prod.ts文件中的环境类

export const environment = {
  production: true,
  apiUrl:   'http://example.com/api', 
};
Run Code Online (Sandbox Code Playgroud)