角度部署-类型{production:boolean}上不存在apiUrl

时间:2019-06-09 18:41:31

标签: angular laravel api

我用Laravel后端开​​发了Angular 7应用程序。尝试为生产进行构建和部署时出现错误。

  

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

在角度cli上,我运行了此

  

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; }'。

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

只需要在 environment.tsenvironment.prod.ts 中添加您的属性。

enviroment.ts

environment.prod.ts

答案 2 :(得分:0)

只需将您的媒体资源添加到environment.tsenvironment.prod.ts中。