-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmemo.txt
93 lines (67 loc) · 2.37 KB
/
memo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
◆環境構築
https://github.com/nullivex/nodist/releases インストール(windows10)
確認
nodist -v
一覧表示
nodist dist
node バージョン変更
nodist 8.13.0
※追従するnpmにする
nodist npm 3.x
◆firebaseローカル環境構築
https://qiita.com/rubytomato@github/items/11c7f3fcaf60f5ce3365
npm install firebase-tools --global
firebase login
firebase init
※ほとんどデフォルト(エンターキーのみ)
? Are you ready to proceed? Yes
>( ) Database: Deploy Firebase Realtime Database Rules ※jsonDBらしい
( ) Firestore: Deploy rules and create indexes for Firestore
(*) Functions: Configure and deploy Cloud Functions
(*) Hosting: Configure and deploy Firebase Hosting sites
( ) Storage: Deploy Cloud Storage security rules
//ここでプロジェクトを選択
? Select a default Firebase project for this directory:
[don't setup a default project]
> [create a new project]
※databaseはfirebase realtime databaseを使用
終了後
プロジェクトとの関連付け(★★firebase init で関連付け出来なかったら★★)
firebase use --add
フォルダ構成
└functions node.js(サーバ側)
└public ホスティング(静的htmlファイル)
◆その他
一覧
firebase list
利用中のプロジェクト
firebase use
デプロイ
firebase deploy
(functionsのみ)
firebase deploy --only functions
ローカルでテスト(npm install --save firebase-functions@latest が必要)
firebase serve
◆パッケージインストール
cd functions
npm install 〇〇 --save
※ --save が必要(firebase deploy 時パッケージエラーとなる)
◆CORSドメイン対応
□
//CORSを許可する
//npm install cors --save
//importする際に {origin: true} をつける
//もう少し詳細に指定したい場合はこちらをご参照ください https://github.com/expressjs/cors#configuration-options
const cors = require('cors')({origin: true});
exports.todofuken = functions.https.onRequest((request, response) => {
//CORSを許可する
cors(request, response, () => {
ここに記述
});
});
□
CORSが必要ないのであれば、firebase.json に rewritesを追加 ★こっちのほうがテスト、ローカル置き換えなくてよいのでお勧め
"hosting": {
"rewrites": [
{"source": "/api/todofuken", "function": "todofuken"}
]