我是角度js2的新手。目前我正在使用一个Web应用程序,它使用angular2作为前端。在这个应用程序中,我使用angular2-social-login进行身份验证。但是当我运行npm start时,我得到了以下错误
ERROR in Error遇到静态解析符号值。调用函数'Angular2SocialLoginModule',不支持函数调用。考虑使用对导出函数的引用替换函数或lambda,解析/var/www/html/ngtest/src/app/app.module.ts中的符号AppModule,解析/ var / www / html / ngtest /中的符号AppModule SRC /应用/ app.module.ts
当我谷歌时,有人说这是因为在项目中使用了角度cli。但我卸载了角度cli,仍然存在问题。 有没有人知道如何解决这个问题?
我的app.module.ts代码位于
之下import { Angular2SocialLoginModule } from "angular2-social-login";
let providers = {
"facebook": {
"clientId": "xxxxxxxxxxxxx",
"apiVersion": "v2.8"
},
"linkedin": {
"clientId": "xxxxxxxxxxx"
},
"google": {
"clientId": "xxxxxxxxxx"
}
};
@NgModule({
imports: [
Angular2SocialLoginModule.initWithProviders(providers),
],
})
export class AppModule { }
我在header.component.ts中调用了这个模块,请参阅header.component.ts文件
import { AuthService } from "angular2-social-login";
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.css'],
providers: [Modal]
})
export class HeaderComponent implements OnInit {
constructor(public _auth: AuthService){ }
signIn(provider){
this.sub = this._auth.login(provider).subscribe(
(data) => {
console.log(data);
}
)}
logout(){
this._auth.logout().subscribe(
(data)=>{
//return a boolean value.
}
)}
}
以上是我的代码,请看看。如果需要更多详细信息,请发表评论
答案 0 :(得分:3)
在angular2-social-login v.3.0.0中,你可以写:
$allowed = array('wpmenucart_ajax');
if( !in_array($_REQUEST['action'], $allowed) )
die('0');
删除
@NgModule({
...
imports: [
Angular2SocialLoginModule
]
})
export class AppModule {
constructor(){}
}
Angular2SocialLoginModule.loadProvidersScripts(providers);
试试这个:
imports: [
Angular2SocialLoginModule.initWithProviders(providers),
],
答案 1 :(得分:0)
它对我有用。
export class AppModule {
constructor() {
Angular2SocialLoginModule.initWithProviders(providers);
}
}
答案 2 :(得分:0)
解决上述问题的另一种解决方案:
export class AppModule {
constructor() {
}}
Angular2SocialLoginModule.initWithProviders(providers);