如何使用ionic 2/angular 2和typescript设置firebase

如何使用ionic 2/angular 2和typescript设置firebase,typescript,angular,ionic2,Typescript,Angular,Ionic2,正在从ionic 1过渡到ionic 2,并对如何从“某处/foo/”将firebaseimport*设置为firebase感到好奇使用他们的typescript示例 <!-- AngularFire --> <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script> bower是在ionic中安装js依赖项的标准方式吗 2或者我应该使用

正在从ionic 1过渡到ionic 2,并对如何从“某处/foo/”将firebase
import*设置为firebase感到好奇使用他们的typescript示例

<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
  • bower是在ionic中安装js依赖项的标准方式吗 2或者我应该使用其他构建链/工具来添加 类似Firebase的东西

  • <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
  • 我应该使用bower安装来安装firebase库还是 是否应直接指向firebase cdn脚本源

  • <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
  • 我应该使用打字来安装firebase typescript定义吗

  • <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    这是firebase教程中的旧代码

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    index.html

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    

    它只包含对Firebase库的cdn引用。我们如何在ionic 2和typescript中实现这一点?您需要在SystemJS配置中配置Firebase和Angularfire2:

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    System.config({
      map: {
        firebase: '/node_modules/firebase/lib/firebase-web.js',
        angularfire2: ' node_modules/angularfire2'
      },
      packages: {      
        angularfire2: {
          main: 'angularfire2.js',
          defaultExtension: 'js'
        },app: {
          format: 'register',
          defaultExtension: 'js'
        }
      },
    });
    
    这样,您就可以使用AngularFire2

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    然后,第一件事是在引导应用程序时指定Angularfire2提供程序:

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    (...)
    import {FIREBASE_PROVIDERS, defaultFirebase, AngularFire} from 'angularfire2';
    
    bootstrap(AppComponent, [
      FIREBASE_PROVIDERS,
      defaultFirebase('https://<your-firebase>.firebaseio.com'),
      (...)
    ]);
    

    ionic2应用程序中没有引导

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    • 您可以为
      angularfire2
      firebase
      加载npm模块
    • 在应用程序组件上设置提供程序
    • 指定你的应用程序URL
    app.ts

    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>
    
    import 'es6-shim';
    import {App, Platform} from 'ionic-angular';
    import {StatusBar} from 'ionic-native';
    import {HomePage} from './pages/home/home';
    
    
    import {FIREBASE_PROVIDERS, defaultFirebase, AngularFire} from 'angularfire2';
    
    @App({
        template: '<ion-nav [root]="rootPage"></ion-nav>',
        providers: [
            FIREBASE_PROVIDERS,
            defaultFirebase('https://[YOUR-APP].firebaseio.com/')
        ],
        config: {} // http://ionicframework.com/docs/v2/api/config/Config/
    })
    export class MyApp {
        rootPage: any = HomePage;
    
        constructor(platform: Platform) {
            platform.ready().then(() => {
                // Okay, so the platform is ready and our plugins are available.
                // Here you can do any higher level native things you might need.
                StatusBar.styleDefault();
            });
        }
    }
    

    systemjs是一个ionic配置文件还是angular 2文件?这是一些需要在主HTML文件中定义的代码。哦,很酷,这看起来像我要找的,还有一个问题-rxjs是否包含在ionic中,或者我需要从外部引用它-使用npm安装会自动使其可从ionic代码导入-还是通过npm添加的每个新库都需要提供程序?查看github repo中的package.json它将列出所有模块您如何使用angularfire2订阅登录/注销事件?已编辑答案。。。可能应该是一个新问题。
    <!-- AngularFire -->
    <script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>