我学习了Angular,并在Google云平台上运行了该Angular应用,并且想知道环境是开发环境还是产品环境,我使用isDevMode()
是这样的:
export class BookService {
private BookItemsUrl: string; // URL to web api
constructor(private http: HttpClient) {
// Return different backend path depending on runtime environment.
if (isDevMode()) {
// Localhost
this.BookItemsUrl = 'api/BooksXml';
} else {
this.BookItemsUrl = 'https://my-back-bone.appspot.com/api/BooksXml';
}
}
..............
问题在于,它可以在localhost上运行,但在部署到GCP时不能运行。 我搜索了此内容,但看不到为什么它不起作用。
有什么主意吗?
答案 0 :(得分:1)
来自angular docs约isDevMode
:
默认情况下为true,除非用户之前致电
enableProdMode
叫这个。
因此,为了使isDevMode
正常工作,必须在使用enableProdMode()
之前在生产环境中调用isDevMode()
。
启用runtime production mode的一种方法是在进行生产构建时使用--prod
标志,如Sergey所述。
如果您的main.ts
文件中尚未包含以下行,请确保将其包括在内。 This答案也可能有帮助。
if (environment.production) {
enableProdMode();
}