我已经在另一台计算机上测试了代码并且发现它适用于Ionic,但是现在在我的个人电脑上运行时,我遇到了这些错误:
[16:08:05] typescript: home/ghylama/node_modules/angularfire2/angularfire2.d.ts, line: 3
Cannot find module '@angular/core'.
L2: import { FirebaseAppConfig } from './interfaces';
L3: import { InjectionToken } from '@angular/core';
L4: declare const FirebaseAppName: InjectionToken<string>;
[16:08:05] typescript: home/ghylama/node_modules/angularfire2/app/firebase.app.module.d.ts, line: 1
Cannot find module '@angular/core'.
L1: import { InjectionToken } from '@angular/core';
L2: import { FirebaseAppConfig } from '../interfaces';
我正在使用Ubuntu MATE。 离子版:3.4.0
npm版本:4.6.0
我尝试将node_modules中文件夹的所有权更改为自己。没有帮助。
我跑了
sudo npm install g angularfire firebase
已经。
Html文件:
<ion-content padding>
<ion-list>
<ion-item>
<ion-label fixed>Email</ion-label>
<ion-input type="email" [(ngModel)]="email"></ion-input>
</ion-item>
<ion-item>
<ion-label fixed>Password</ion-label>
<ion-input type="password" [(ngModel)]="password"></ion-input>
</ion-item>
<div style="height: 50px;"></div>
<button (click)="login(email,password)" ion-button color="dark" outline>Log In</button>
<button (click)="logout()" ion-button color="dark" outline>Log Out</button>
<button (click)="signin()" ion-button color="dark" clear>Or create an account</button>
<p style="color:red;">{{errorMessage}}</p>
<!--<div> {{ (af.auth | async)?.uid }} </div>-->
</ion-list>
</ion-content>
&#13;
.ts文件:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AngularFire } from 'angularfire2';
import { Mainmenu } from '../mainmenu/mainmenu';
import { SignIn } from '../sign-in/sign-in';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
errorMessage:string;
constructor(public navCtrl: NavController,public af: AngularFire) {
af.auth.subscribe(auth => {
if(auth) {
console.log('logged in');
} else {
console.log('not logged in');
}
});
this.errorMessage = "";
}
login(Email,Password) {
//Email = "hamada@hamada.com";
//Password = "abc123";
this.af.auth.login({ email: Email, password: Password })
.then((info)=>{
this.navCtrl.push(Mainmenu);
},
(erro)=>{
console.log("Error " + erro);
this.errorMessage = "Email/Password are incorrect";
}
);
}
logout() {
this.af.auth.logout();
}
signin()
{
this.navCtrl.push(SignIn);
}
}
&#13;
答案 0 :(得分:1)
安装angularfire2
版本1 后,您正在访问angularfire
。
npm install angularfire2 firebase --save
检查the installation instruction。
确保删除angularfire。
npm uninstall angularfire --save
此外,您不需要使用g
。这适用于全局安装,它不会找到角度模块,因为它将在您的项目中本地安装。
答案 1 :(得分:1)
尝试按照项目目录中的这些步骤(cd path-to-project-folder):
1。 npm install --save angularfire
2。 npm install --save firebase
这应该足够了,但是如果错误仍然存在,那么请保留在项目目录中并运行:
1。 rm -rf node_modules
2。 npm install