1
- [ ![ Build Status] ( https://travis-ci.org/firebase/firebase-js-sdk.svg?branch=master )] ( https://travis-ci.org/firebase/firebase-js-sdk )
1
+ <!-- [](https://travis-ci.org/firebase/firebase-js-sdk) -->
2
2
3
3
# Firebase - App success made simple
4
4
@@ -36,16 +36,31 @@ you should use the
36
36
37
37
## Get the code (browser)
38
38
39
- ### Script include
40
- > This brings in all Firebase features. See
41
- > [ "Include only the features you need"] ( #include-only-the-features-you-need )
42
- > below for
43
- > how to minimize download size by only including the scripts you need.
39
+ We recommend only installing the features you need. The individually installable services are:
44
40
45
- Include Firebase in your web application via a ` <script> ` tag:
41
+ - ` firebase-app ` - The core ` firebase ` client (required).
42
+ - ` firebase-analytics ` - Firebase Analytics (optional).
43
+ - ` firebase-auth ` - Firebase Authentication (optional).
44
+ - ` firebase-database ` - The Firebase Realtime Database (optional).
45
+ - ` firebase-firestore ` - Cloud Firestore (optional).
46
+ - ` firebase-storage ` - Firebase Storage (optional).
47
+ - ` firebase-messaging ` - Firebase Cloud Messaging (optional).
48
+ - ` firebase-functions ` - Firebase Cloud Functions (optional).
49
+ - ` firebase-remote-config ` - Firebase Remote Config (optional).
50
+ - ` firebase-performance ` - Firebase Performance (optional).
51
+
52
+ ### Script include
53
+ Include Firebase in your web application via ` <script> ` tags. Create a script tag for each of the individual services you use (include ` firebase-app `
54
+ first):
46
55
47
56
``` html
48
- <script src =" https://www.gstatic.com/firebasejs/${JSCORE_VERSION}/firebase.js" ></script >
57
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-app.js" ></script >
58
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-auth.js" ></script >
59
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-database.js" ></script >
60
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-firestore.js" ></script >
61
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-storage.js" ></script >
62
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-messaging.js" ></script >
63
+ <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-functions.js" ></script >
49
64
50
65
<script >
51
66
var app = firebase .initializeApp ({
@@ -54,7 +69,8 @@ Include Firebase in your web application via a `<script>` tag:
54
69
databaseURL: ' <your-database-url>' ,
55
70
projectId: ' <your-cloud-firestore-project>' ,
56
71
storageBucket: ' <your-storage-bucket>' ,
57
- messagingSenderId: ' <your-sender-id>'
72
+ messagingSenderId: ' <your-sender-id>' ,
73
+ appId: ' <your-app-id>'
58
74
});
59
75
// ...
60
76
</script >
@@ -64,86 +80,31 @@ _Note: To get a filled in version of the above code snippet, go to the
64
80
[ Firebase console] ( https://console.firebase.google.com/ ) for your app and click on "Add
65
81
Firebase to your web app"._
66
82
67
- ### npm bundler (Browserify, Webpack, etc.)
68
-
69
- > This brings in all Firebase features. See
70
- > [ "Include only the features you need"] ( #include-only-the-features-you-need )
71
- > below for
72
- > how to minimize bundle size by only importing the features you need.
73
-
74
- The Firebase JavaScript npm package contains code that can be run in the browser
75
- after combining the modules you use with a package bundler (e.g.,
76
- [ Browserify] ( http://browserify.org/ ) , [ Webpack] ( https://webpack.github.io/ ) ).
83
+ #### Alternative - all-in-one import
77
84
78
- Install the Firebase npm module:
85
+ > This brings in all Firebase features. We recommend the method above to
86
+ > minimize download size by only including the scripts you need.
79
87
80
- ```
81
- $ npm init
82
- $ npm install --save firebase
83
- ```
84
-
85
- In your code, you can access Firebase using:
86
-
87
- ``` js
88
- var firebase = require (' firebase' );
89
- var app = firebase .initializeApp ({ ... });
90
- ```
91
-
92
- If you are using ES6 imports or TypeScript:
93
-
94
- ``` js
95
- import firebase from ' firebase' ;
96
- var app = firebase .initializeApp ({ ... });
97
- ```
98
-
99
- ### Include only the features you need
100
-
101
- The full Firebase JavaScript client includes support for Firebase Authentication, the
102
- Firebase Realtime Database, Firebase Storage, and Firebase Cloud Messaging. Including
103
- code via the above snippets will pull in all of these features.
104
-
105
- You can reduce the amount of code your app uses by just including the features
106
- you need. The individually installable services are:
107
-
108
- - ` firebase-app ` - The core ` firebase ` client (required).
109
- - ` firebase-auth ` - Firebase Authentication (optional).
110
- - ` firebase-database ` - The Firebase Realtime Database (optional).
111
- - ` firebase-firestore ` - Cloud Firestore (optional).
112
- - ` firebase-storage ` - Firebase Storage (optional).
113
- - ` firebase-messaging ` - Firebase Cloud Messaging (optional).
114
- - ` firebase-functions ` - Firebase Cloud Functions (optional).
115
-
116
- From the CDN, include the individual services you use (include ` firebase-app `
117
- first):
88
+ Include Firebase in your web application via a ` <script> ` tag:
118
89
119
90
``` html
120
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-app.js" ></script >
121
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-auth.js" ></script >
122
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-database.js" ></script >
123
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-firestore.js" ></script >
124
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-storage.js" ></script >
125
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-messaging.js" ></script >
126
- <script src =" https://www.gstatic.com/firebasejs/${FIREBASE_VERSION}/firebase-functions.js" ></script >
91
+ <script src =" https://www.gstatic.com/firebasejs/${JSCORE_VERSION}/firebase.js" ></script >
127
92
128
93
<script >
129
94
var app = firebase .initializeApp ({ ... });
130
95
// ...
131
96
</script >
132
97
```
133
98
134
- When using the firebase npm package, you can ` require() ` just the services that
135
- you use:
99
+ ### NPM Bundler (Browserify, Webpack, Rollup, etc.)
136
100
137
- ``` js
138
- var firebase = require (' firebase/app' );
139
- require (' firebase/auth' );
140
- require (' firebase/database' );
141
-
142
- var app = firebase .initializeApp ({ ... });
101
+ Install the Firebase NPM module:
102
+ ```
103
+ $ npm init
104
+ $ npm install --save firebase
143
105
```
144
106
145
- If you are using TypeScript with the npm package, you can import just the
146
- services you use:
107
+ In your code, you can import the services you use:
147
108
148
109
``` js
149
110
// This import loads the firebase namespace along with all its type information.
@@ -154,6 +115,20 @@ import 'firebase/auth';
154
115
import ' firebase/database' ;
155
116
```
156
117
118
+ Or if using ` require() ` :
119
+
120
+ _ We recommend the ` .default ` import from ` firebase/app ` in order for
121
+ typings to work correctly.
122
+ See [ release notes for 8.0.0] ( https://firebase.google.com/support/release-notes/js#version_800_-_october_26_2020 ) ._
123
+
124
+ ``` js
125
+ var firebase = require (' firebase/app' ).default ;
126
+ require (' firebase/auth' );
127
+ require (' firebase/database' );
128
+
129
+ var app = firebase .initializeApp ({ ... });
130
+ ```
131
+
157
132
_ The type information from the import statement will include all of the SDKs,
158
133
not just the ones you have ` required ` , so you could get a runtime error if you
159
134
reference a non-required service._
@@ -177,7 +152,9 @@ $ npm install --save firebase
177
152
In your code, you can access Firebase using:
178
153
179
154
``` js
180
- var firebase = require (' firebase' );
155
+ var firebase = require (' firebase/app' ).default ;
156
+ require (' firebase/auth' );
157
+ require (' firebase/database' );
181
158
var app = firebase .initializeApp ({ ... });
182
159
// ...
183
160
```
@@ -196,23 +173,6 @@ import 'firebase/database';
196
173
197
174
_ Known issue for typescript users with --experimental-modules: you have to set allowSyntheticDefaultImports to true in tsconfig.json to pass the type check. Use it with caution since it makes the assumption that all modules have a default export, which might not be the case for the other dependencies you have. And Your code will break if you try to import the default export from a module that doesn't have default export._
198
175
199
- Firebase Storage is not included in the server side Firebase npm module.
200
- Instead, you can use the
201
- [ ` google-cloud ` Node.js client] ( https://github.com/GoogleCloudPlatform/google-cloud-node ) .
202
-
203
- ```
204
- $ npm install --save google-cloud
205
- ```
206
-
207
- In your code, you can access your Storage bucket using:
208
-
209
- ``` js
210
- var gcloud = require (' google-cloud' )({ ... });
211
- var gcs = gcloud .storage ();
212
- var bucket = gcs .bucket (' <your-firebase-storage-bucket>' );
213
- ...
214
- ```
215
-
216
176
Firebase Cloud Messaging is not included in the server side Firebase npm module.
217
177
Instead, you can use the
218
178
[ Firebase Cloud Messaging Rest API] ( https://firebase.google.com/docs/cloud-messaging/send-message ) .
0 commit comments