2016-10-20 38 views
0

我嘗試將變量聲明爲*.ts文件並將文件導入要使用的組件.ts文件中。如何在angular 2 webpack中聲明並導入變量到組件中?

url.ts

var loginComponentTemplateUrl: string; 
if (true) { 
    loginComponentTemplateUrl = './login.component.html'; 
} else { 
    loginComponentTemplateUrl = './app/login/login.component.html'; 
} 

login.component.ts

import './url'; 
@Component({ 
    templateUrl: loginComponentTemplateUrl 
}) 
... 

SystemJS所有工作,但是當我嘗試使用Webpack構建一個錯誤:loginComponentTemplateUrl variable not defined。 我需要將這個url.ts文件導入到polyfills.ts或​​但是如何?據我所知vendor.ts/polyfills.ts文件只與modules工作。

+0

分享您webpack.config – Thaadikkaaran

回答

0

你必須exporturl.tsurl.ts

let loginComponentTemplateUrl: string; 
if (true) { //will throw linting error 
    loginComponentTemplateUrl = './login.component.html'; 
} else { 
    loginComponentTemplateUrl = './app/login/login.component.html'; 
} 

export default loginComponentTemplateUrl 

而且loginComponentTemplateUrl變量和importlogin.component.ts

這樣的事情,在login.component.ts

import loginComponentTemplateUrl from './url' 
@Component({ 
    templateUrl: loginComponentTemplateUrl 
}) 
... 
+0

我可以在一個文件如何使多個:博覽會rt默認? –

+0

您可以進行多個導出,但默認應該只有一個。順便說一下,這個答案有幫助嗎?然後接受這個答案 – Thaadikkaaran

+0

nope。仍然沒有在Webpack構建上工作。瀏覽器顯示可變值,但tmplate不加載。 –