2017-08-26 28 views
2

我發現,與大多數SPA框架一樣,Angular提供了一種將環境特定配置傳遞給應用程序的簡單方法。我正在使用由.NET Core 2.0項目搭建的Angular應用程序。我曾嘗試使用Angular CLI環境文件和Webpack DefinePlugin爲我的應用程序提供環境變量。我錯過了什麼?使用.NET核心構建的Angular應用程序中的環境變量核心JavaScriptServices

這是想什麼我:

import { environment } from './environment'; 

export class MyComponent { 
    constructor() { 
     // Logs localhost:5001 in dev and www.myapi.com in prod 
     console.log(process.env.API_URL); 
    } 
} 

但使用.NET的核心JavaScriptServices。這可能嗎?

+0

你解決了你的問題嗎?如果是這樣,你能啓發我們嗎? –

+0

我的解決方案並不理想。我不得不使用全局JavaScript變量。我使用webpack使用define插件嘗試了它,但後來更改爲只使用.NET將變量寫入服務器的佈局。 –

回答

0

的環境的想法是,你必須爲每個你可以使用環境environment.{ENV}.ts,然後在.angular-cli.json你定義它們的名字:

... 
"environments": { 
    "dev": "environments/environment.ts", 
    "prod": "environments/environment.prod.ts" 
} 
... 

你必須設置此環境手動文件:

在你environment.ts

export const environment = { 
    production: false, 
    API_URL: 'http://localhost:5001' 
} 

在你environment.prod.ts

export const environment = { 
    production: true, 
    API_URL: 'http://www.myapi.com' 
} 

然後,當你想要你一些這種環境屬性時,你可以將環境對象導入到你的.ts文件並調用它。您正在調用的process.env指的是節點的環境。

+1

如何使用.NET核心JavaScriptServices的Angular CLI? –

+0

不知道。我單獨使用angular-cli。 – Giovane

相關問題