我遵循了Skygear手册
https://docs.skygear.io/guides/advanced/server/
并成功启动skygear-server-darwin-amd64。
所以我尝试运行react-chat-demo
https://github.com/skygear-demo/react-chat-demo
我被设置为端点http://localhost:3000/
当运行npm start时,我的网络浏览器已打开
文件:///用户/~/react-chat-demo-master/demo/login.html
我可以注册并登录
然后加载app.html,但什么也没看到
app.html如何运作?
#####################################################################
server log
DEBU[0057] OPTIONS /auth/signup logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] Access-Control-Request-Method: [POST] logger=router
DEBU[0057] Accept: [*/*] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] Connection: [keep-alive] logger=router
DEBU[0057] Origin: [null] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Access-Control-Request-Headers: [content-type, x-skygear-access-token, x-skygear-api-key] logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, sdch, br] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] 0 bytes of request body logger=router
DEBU[0057] CORS Method: POST logger=router
DEBU[0057] CORS Headers: content-type, x-skygear-access-token, x-skygear-api-key logger=router
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] 0 bytes of response body logger=router
DEBU[0057] POST /auth/signup logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] Connection: [keep-alive] logger=router
DEBU[0057] Content-Length: [355] logger=router
DEBU[0057] Accept: [application/json] logger=router
DEBU[0057] Origin: [null] logger=router
DEBU[0057] X-Skygear-Access-Token: [eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYTYwYTgyZi0yYmU4LTQ4ZGEtYjhiNi01Mjg0NjUwYmM5YjciLCJpYXQiOjE0ODk2NDc3OTIsImlzcyI6Il8iLCJzdWIiOiJmMzM4MjI1OC0xYTFlLTQ4NWYtODFmMy1jOTM5NzM2NWE5NjAifQ.1k0dMAvr4Ird_cQVKzdicv3e4iSi_J1odapBbnLDfh0] logger=router
DEBU[0057] X-Skygear-Api-Key: [changeme] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Content-Type: [application/json] logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, br] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] {"action":"auth:signup","api_key":"changeme","access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJlYTYwYTgyZi0yYmU4LTQ4ZGEtYjhiNi01Mjg0NjUwYmM5YjciLCJpYXQiOjE0ODk2NDc3OTIsImlzcyI6Il8iLCJzdWIiOiJmMzM4MjI1OC0xYTFlLTQ4NWYtODFmMy1jOTM5NzM2NWE5NjAifQ.1k0dMAvr4Ird_cQVKzdicv3e4iSi_J1odapBbnLDfh0","username":"qldrha","email":null,"password":"qldrha"} logger=router
DEBU[0057] Opening DBConn: {pq _ postgresql://postgres:@localhost/postgres?sslmode=disable} logger=preprocessor
DEBU[0057] Get DB OK logger=preprocessor
DEBU[0057] Executed SQL successfully with sql.Queryx args=[] error=<nil> executionCount=1 logger=skydb sql=SELECT id FROM "app__"."_role" WHERE by_default = true
DEBU[0057] 0xc420290500: Beginning transaction logger=skydb
DEBU[0057] 0xc420290500: Done beginning transaction 0xc420223b30 logger=skydb
DEBU[0057] Executed SQL successfully with sql.Exec args=[29b406e5-5780-4d7d-92b7-541aa0a3e608 0xc42016ac10 <nil> [36 50 97 36 49 48 36 71 122 75 80 69 76 68 112 81 56 105 100 85 118 57 65 101 76 122 103 114 101 71 71 109 120 90 68 86 121 121 99 88 114 85 105 68 85 103 119 76 117 121 51 48 80 108 48 115 106 51 78 71] {AuthInfo:map[] Valid:true} 2017-03-16 10:41:05.779255568 +0000 UTC 2017-03-16 10:41:05.810086603 +0000 UTC 2017-03-16 10:41:05.810086603 +0000 UTC] error=<nil> executionCount=2 logger=skydb rowsAffected=1 sql=INSERT INTO "app__"."_user" (id,username,email,password,auth,token_valid_since,last_login_at,last_seen_at) VALUES ($1,$2,$3,$4,$5,$6,$7,$8)
DEBU[0057] UpdateRoles &{29b406e5-5780-4d7d-92b7-541aa0a3e608 qldrha [36 50 97 36 49 48 36 71 122 75 80 69 76 68 112 81 56 105 100 85 118 57 65 101 76 122 103 114 101 71 71 109 120 90 68 86 121 121 99 88 114 85 105 68 85 103 119 76 117 121 51 48 80 108 48 115 106 51 78 71] [] map[] 2017-03-16 10:41:05.779255568 +0000 UTC 2017-03-16 10:41:05.810086603 +0000 UTC 2017-03-16 10:41:05.810086603 +0000 UTC} logger=skydb
DEBU[0057] Executed SQL successfully with sql.Exec args=[29b406e5-5780-4d7d-92b7-541aa0a3e608] error=<nil> executionCount=3 logger=skydb rowsAffected=0 sql=DELETE FROM "app__"."_user_role" WHERE user_id = $1
DEBU[0057] Querying remoteColumnTypes user logger=skydb
DEBU[0057] Executed SQL with sql.QueryRowx args=[user app__] executionCount=4 logger=skydb sql=
SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname = $1
AND n.nspname = $2
DEBU[0057] Executed SQL successfully with sql.Queryx args=[18085] error=<nil> executionCount=5 logger=skydb sql=
SELECT a.attname,
pg_catalog.format_type(a.atttypid, a.atttypmod)
FROM pg_catalog.pg_attribute a
WHERE a.attrelid = $1 AND a.attnum > 0 AND NOT a.attisdropped
DEBU[0057] Executed SQL successfully with sql.Queryx args=[app__ user] error=<nil> executionCount=6 logger=skydb sql=SELECT kcu.column_name, ccu.table_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND tc.table_schema = $1 AND tc.table_name = $2
DEBU[0057] Cache remoteColumnTypes user logger=skydb
DEBU[0057] Executed SQL with sql.QueryRowx args=[ 29b406e5-5780-4d7d-92b7-541aa0a3e608] executionCount=7 logger=skydb sql=SELECT "user"."_updated_at" as "_updated_at", "user"."displayName" as "displayName", "user"."_id" as "_id", "user"."_access" as "_access", "user"."_created_at" as "_created_at", "user"."_updated_by" as "_updated_by", "user"."_database_id" as "_database_id", "user"."_owner_id" as "_owner_id", "user"."_created_by" as "_created_by" FROM "app__"."user" WHERE "user"."_database_id" = $1 AND _id = $2
DEBU[0057] Executed SQL successfully with sql.Queryx args=[user] error=<nil> executionCount=8 logger=skydb sql=SELECT role_id FROM "app__"."_record_creation" JOIN "app__"."_role" ON "app__"."_record_creation".role_id = id WHERE record_type = $1
DEBU[0057] map[] logger=handler
DEBU[0057] Using cached remoteColumnTypes user logger=skydb
DEBU[0057] Using cached remoteColumnTypes user logger=skydb
DEBU[0057] Executed SQL with sql.QueryRowx args=[29b406e5-5780-4d7d-92b7-541aa0a3e608 2017-03-16 10:41:05.926657673 +0000 UTC 29b406e5-5780-4d7d-92b7-541aa0a3e608 [] 29b406e5-5780-4d7d-92b7-541aa0a3e608 29b406e5-5780-4d7d-92b7-541aa0a3e608 2017-03-16 10:41:05.926657673 +0000 UTC] executionCount=9 logger=skydb sql=
WITH updated AS (
UPDATE "app__"."user"
SET ("_updated_at", "_updated_by", "_access") = ($3,$4,$5)
WHERE "_id" = $1 AND "_database_id" = $2
RETURNING *
), inserted AS (
INSERT INTO "app__"."user"
("_id", "_database_id", "_updated_at", "_updated_by", "_access", "_created_by", "_owner_id", "_created_at")
SELECT $1,$2,$3,$4,$5,$6,$7,$8
WHERE NOT EXISTS (SELECT * FROM updated)
RETURNING *
)
SELECT * FROM updated
UNION ALL
SELECT * FROM inserted;
DEBU[0057] 0xc420290500: Committed transaction logger=skydb
INFO[0057] Received a notify logger=skydb pqNotification=&{BePid:601 Channel:record_change Extra:17}
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] {"result":{"user_id":"29b406e5-5780-4d7d-92b7-541aa0a3e608","username":"qldrha","access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ZDdlNjlhNS1kNDNjLTRiMzEtYWY1Zi1jY2Y4MmI5YzNlYzgiLCJpYXQiOjE0ODk2NjA4NjUsImlzcyI6Il8iLCJzdWIiOiIyOWI0MDZlNS01NzgwLTRkN2QtOTJiNy01NDFhYTBhM2U2MDgifQ.rWJq27SakW7brHwpiH0ccBk_-2L-hA9NTloiSBbaMOU","last_login_at":"2017-03-16T10:41:05.810086603Z","last_seen_at":"2017-03-16T10:41:05.810086603Z"}}
logger=router
DEBU[0057] Ws error websocket: close 1005 logger=pubsub
DEBU[0057] Close ws reader connection 0xc4202681e0 logger=pubsub
DEBU[0057] Close ws writer goroutine 0xc4202681e0 logger=pubsub
DEBU[0057] GET /_/pubsub?api_key=changeme logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] Upgrade: [websocket] logger=router
DEBU[0057] Sec-Websocket-Version: [13] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] Sec-Websocket-Extensions: [permessage-deflate; client_max_window_bits] logger=router
DEBU[0057] Cache-Control: [no-cache] logger=router
DEBU[0057] Connection: [Upgrade] logger=router
DEBU[0057] Pragma: [no-cache] logger=router
DEBU[0057] Origin: [file://] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, sdch, br] logger=router
DEBU[0057] Sec-Websocket-Key: [1DsSXsgqwkGYp5cA5u7cmQ==] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] 0 bytes of request body logger=router
DEBU[0057] Matched params: [] logger=router
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] 0 bytes of response body logger=router
DEBU[0057] Waiting ws message 0xc42017b3b0 logger=pubsub
DEBU[0057] OPTIONS /record/save logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, sdch, br] logger=router
DEBU[0057] Access-Control-Request-Method: [POST] logger=router
DEBU[0057] Origin: [null] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Access-Control-Request-Headers: [content-type, x-skygear-access-token, x-skygear-api-key] logger=router
DEBU[0057] Accept: [*/*] logger=router
DEBU[0057] Connection: [keep-alive] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] 0 bytes of request body logger=router
DEBU[0057] CORS Method: POST logger=router
DEBU[0057] CORS Headers: content-type, x-skygear-access-token, x-skygear-api-key logger=router
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] 0 bytes of response body logger=router
DEBU[0057] POST /record/save logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] X-Skygear-Access-Token: [eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ZDdlNjlhNS1kNDNjLTRiMzEtYWY1Zi1jY2Y4MmI5YzNlYzgiLCJpYXQiOjE0ODk2NjA4NjUsImlzcyI6Il8iLCJzdWIiOiIyOWI0MDZlNS01NzgwLTRkN2QtOTJiNy01NDFhYTBhM2U2MDgifQ.rWJq27SakW7brHwpiH0ccBk_-2L-hA9NTloiSBbaMOU] logger=router
DEBU[0057] X-Skygear-Api-Key: [changeme] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Content-Type: [application/json] logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, br] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] Content-Length: [456] logger=router
DEBU[0057] Origin: [null] logger=router
DEBU[0057] Accept: [application/json] logger=router
DEBU[0057] Connection: [keep-alive] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] {"action":"record:save","api_key":"changeme","access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ZDdlNjlhNS1kNDNjLTRiMzEtYWY1Zi1jY2Y4MmI5YzNlYzgiLCJpYXQiOjE0ODk2NjA4NjUsImlzcyI6Il8iLCJzdWIiOiIyOWI0MDZlNS01NzgwLTRkN2QtOTJiNy01NDFhYTBhM2U2MDgifQ.rWJq27SakW7brHwpiH0ccBk_-2L-hA9NTloiSBbaMOU","database_id":"_public","records":[{"_id":"user/29b406e5-5780-4d7d-92b7-541aa0a3e608","_access":[{"public":true,"level":"read"}],"displayName":"qldrha"}]} logger=router
DEBU[0057] Opening DBConn: {pq _ postgresql://postgres:@localhost/postgres?sslmode=disable} logger=preprocessor
DEBU[0057] Get DB OK logger=preprocessor
WARN[0057] 29b406e5-5780-4d7d-92b7-541aa0a3e608 logger=skydb
DEBU[0057] Executed SQL successfully with sql.Queryx args=[ {"Type":"user"}] error=<nil> executionCount=1 logger=skydb sql=SELECT id, device_id, type, notification_info, query FROM "app__"."_subscription" WHERE user_id = $1 AND query @> $2::jsonb
DEBU[0057] Executed SQL with sql.QueryRowx args=[29b406e5-5780-4d7d-92b7-541aa0a3e608] executionCount=1 logger=skydb sql=SELECT id, username, email, password, auth, token_valid_since, last_login_at, last_seen_at, array_to_json(array_agg(role_id)) AS roles FROM "app__"."_user" LEFT JOIN "app__"."_user_role" ON id = user_id WHERE id = $1 GROUP BY id
DEBU[0057] Working with accessModel RoleBasedAccess logger=handler
DEBU[0057] Querying remoteColumnTypes user logger=skydb
DEBU[0057] Executed SQL with sql.QueryRowx args=[user app__] executionCount=2 logger=skydb sql=
SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname = $1
AND n.nspname = $2
DEBU[0057] Executed SQL successfully with sql.Queryx args=[18085] error=<nil> executionCount=3 logger=skydb sql=
SELECT a.attname,
pg_catalog.format_type(a.atttypid, a.atttypmod)
FROM pg_catalog.pg_attribute a
WHERE a.attrelid = $1 AND a.attnum > 0 AND NOT a.attisdropped
DEBU[0057] Executed SQL successfully with sql.Queryx args=[app__ user] error=<nil> executionCount=4 logger=skydb sql=SELECT kcu.column_name, ccu.table_name FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND tc.table_schema = $1 AND tc.table_name = $2
DEBU[0057] Cache remoteColumnTypes user logger=skydb
DEBU[0057] Executed SQL with sql.QueryRowx args=[ 29b406e5-5780-4d7d-92b7-541aa0a3e608] executionCount=5 logger=skydb sql=SELECT "user"."_created_by" as "_created_by", "user"."_updated_at" as "_updated_at", "user"."displayName" as "displayName", "user"."_id" as "_id", "user"."_owner_id" as "_owner_id", "user"."_access" as "_access", "user"."_database_id" as "_database_id", "user"."_created_at" as "_created_at", "user"."_updated_by" as "_updated_by" FROM "app__"."user" WHERE "user"."_database_id" = $1 AND _id = $2
DEBU[0057] map[displayName:qldrha] logger=handler
DEBU[0057] Using cached remoteColumnTypes user logger=skydb
DEBU[0057] Using cached remoteColumnTypes user logger=skydb
DEBU[0057] Executed SQL with sql.QueryRowx args=[29b406e5-5780-4d7d-92b7-541aa0a3e608 2017-03-16 10:41:06.019357878 +0000 UTC 29b406e5-5780-4d7d-92b7-541aa0a3e608 qldrha [{Relation: Role: Level:read UserID: Public:true}] 2017-03-16 10:41:05.926658 +0000 UTC 29b406e5-5780-4d7d-92b7-541aa0a3e608 29b406e5-5780-4d7d-92b7-541aa0a3e608] executionCount=6 logger=skydb sql=
WITH updated AS (
UPDATE "app__"."user"
SET ("_updated_at", "_updated_by", "displayName", "_access") = ($3,$4,$5,$6)
WHERE "_id" = $1 AND "_database_id" = $2
RETURNING *
), inserted AS (
INSERT INTO "app__"."user"
("_id", "_database_id", "_updated_at", "_updated_by", "displayName", "_access", "_created_at", "_created_by", "_owner_id")
SELECT $1,$2,$3,$4,$5,$6,$7,$8,$9
WHERE NOT EXISTS (SELECT * FROM updated)
RETURNING *
)
SELECT * FROM updated
UNION ALL
SELECT * FROM inserted;
INFO[0057] Received a notify logger=skydb pqNotification=&{BePid:601 Channel:record_change Extra:18}
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] {"result":[{"_access":[{"level":"read","public":true}],"_created_at":"2017-03-16T10:41:05.926658Z","_created_by":"29b406e5-5780-4d7d-92b7-541aa0a3e608","_id":"user/29b406e5-5780-4d7d-92b7-541aa0a3e608","_ownerID":"29b406e5-5780-4d7d-92b7-541aa0a3e608","_type":"record","_updated_at":"2017-03-16T10:41:06.019358Z","_updated_by":"29b406e5-5780-4d7d-92b7-541aa0a3e608","displayName":"qldrha"}]}
logger=router
DEBU[0057] Executed SQL successfully with sql.Queryx args=[ {"Type":"user"}] error=<nil> executionCount=1 logger=skydb sql=SELECT id, device_id, type, notification_info, query FROM "app__"."_subscription" WHERE user_id = $1 AND query @> $2::jsonb
DEBU[0057] Ws error websocket: close 1001 logger=pubsub
DEBU[0057] Close ws reader connection 0xc42017aa50 logger=pubsub
DEBU[0057] Close ws writer goroutine 0xc42017aa50 logger=pubsub
DEBU[0057] Ws error websocket: close 1001 logger=pubsub
DEBU[0057] Close ws reader connection 0xc42017b3b0 logger=pubsub
DEBU[0057] Close ws writer goroutine 0xc42017b3b0 logger=pubsub
DEBU[0057] GET /_/pubsub?api_key=changeme logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] Origin: [file://] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, sdch, br] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] Connection: [Upgrade] logger=router
DEBU[0057] Pragma: [no-cache] logger=router
DEBU[0057] Cache-Control: [no-cache] logger=router
DEBU[0057] Upgrade: [websocket] logger=router
DEBU[0057] Sec-Websocket-Version: [13] logger=router
DEBU[0057] Sec-Websocket-Key: [kgfqlbiX8CODkmqyaTnRPA==] logger=router
DEBU[0057] Sec-Websocket-Extensions: [permessage-deflate; client_max_window_bits] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] 0 bytes of request body logger=router
DEBU[0057] Matched params: [] logger=router
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] 0 bytes of response body logger=router
DEBU[0057] Waiting ws message 0xc4200c2d20 logger=pubsub
DEBU[0057] GET /pubsub?api_key=changeme logger=router
DEBU[0057] ------ Header: ------ logger=router
DEBU[0057] Pragma: [no-cache] logger=router
DEBU[0057] Upgrade: [websocket] logger=router
DEBU[0057] Sec-Websocket-Version: [13] logger=router
DEBU[0057] Accept-Encoding: [gzip, deflate, sdch, br] logger=router
DEBU[0057] Accept-Language: [ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4] logger=router
DEBU[0057] Connection: [Upgrade] logger=router
DEBU[0057] Cache-Control: [no-cache] logger=router
DEBU[0057] Origin: [file://] logger=router
DEBU[0057] User-Agent: [Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36] logger=router
DEBU[0057] Sec-Websocket-Key: [mG8XggSpYoOcIOcZ6CByNQ==] logger=router
DEBU[0057] Sec-Websocket-Extensions: [permessage-deflate; client_max_window_bits] logger=router
DEBU[0057] ------ Request: ------ logger=router
DEBU[0057] 0 bytes of request body logger=router
DEBU[0057] Matched params: [] logger=router
DEBU[0057] ------ Response: ------ logger=router
DEBU[0057] 0 bytes of response body logger=router
DEBU[0057] Waiting ws message 0xc4200c2ff0 logger=pubsub
最佳答案
这是因为https://docs.skygear.io/guides/advanced/server/
的手册未涵盖安装Chat插件。
您应该可以在skygear.io上尝试使用托管版本的react-chat-demo
如果要在自己的计算机上进行部署,则聊天插件的来源位于
https://github.com/skygeario/chat
从docker-compose.yml中读取,您将需要:
一种。使用以下环境变量启动skygear-server:
DATABASE_URL: postgresql://postgres:@db/postgres?sslmode=disable
APP_NAME: my_skygear_app
API_KEY: my_skygear_key
MASTER_KEY: my_master_key
TOKEN_STORE: jwt
TOKEN_STORE_SECRET: my_skygear_jwt_secret
PLUGINS: CHAT
CHAT_TRANSPORT: zmq
CHAT_PATH: chat
CHAT_ARGS: tcp://0.0.0.0:5555
将CHAT_ARGS设置为聊天插件的IP和端口。
启动聊天插件,如下所示:
环境变量
DATABASE_URL: postgresql://postgres:@db:5432/postgres?sslmode=disable
PUBSUB_URL: ws://app:3000/pubsub
SKYGEAR_ADDRESS: tcp://app:5555
SKYGEAR_ENDPOINT: http://app:3000
APP_NAME: my_skygear_app
API_KEY: my_skygear_key
MASTER_KEY: my_master_key
TOKEN_STORE_SECRET: my_skygear_jwt_secret
ASSET_STORE_URL_PREFIX: http://localhost:3000/
并在安装python模块后运行以下命令:
py-skygear chat