2017-04-25 16 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