2016-10-20 36 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不加载。 –