2017-04-25 49 views
0

我的index.html文件有以下內容:如何對不同的環境實例不同BASE_URL在angular2的angular2

我想,當我建立它在(NPM運行編譯)默認模式(發展模式),它應該是

<base href="/"> 

,但是當我在生產模式(NPM運行構建--target =生產)建造它,它應該是

<base href="/new/"> 

我是angular1的專家,但是新增了angular2,但已經嘗試在index.ts文件中爲base_url添加一個變量,但似乎沒有工作。

我希望那裏有一種更快捷的解決方法,任何人都可以在這裏幫忙。

+0

如果你使用的是webpack,你可以使用這個插件在html中插入時注入https://www.npmjs.com/package/inject-html-webpack-plugin –

+0

我們不使用這個..是的可能通過角度cli?或其他方式.. – undefined

+1

請參閱下面的答案,@Pankaj Parkar是Angular專家。 –

回答

2

,它支持非常好

# Sets base tag href to /myUrl/ in your index.html 
ng build --base-href /myUrl/ 
ng build -bh /myUrl/ 

您可以更新腳本package.json

"scripts": { 
    //... 
    "start": "ng serve -bh /anotheUrl/", 
    "build": "ng build -bh /myUrl/", 
    //.. 
}, 

https://github.com/angular/angular-cli/wiki/build

+0

真棒..謝謝你@Tiep – undefined

+0

我很高興幫助! –

2

你可以使用APP_BASE_HREF提供商,因爲你使用的角度CLI將其值設置

@NgModule({ 
    imports: [..], 
    declarations: [..], 
    providers: [{provide: APP_BASE_HREF, useValue: '/new/'}] 
}) 
class AppModule {} 
+0

我在吃晚飯..我會在此後嘗試.. – undefined