鍍金池/ 問(wèn)答/HTML/ 有人玩過(guò)微信小程序官方示例 猜拳嗎,typescript編譯總是報(bào)錯(cuò)

有人玩過(guò)微信小程序官方示例 猜拳嗎,typescript編譯總是報(bào)錯(cuò)

小程序GIT地址:https://github.com/CFETeam/we...
按照文檔上的操作安裝nodejs,安裝依賴(lài)包,安裝typescript

tsc app.ts

編譯后提示有語(yǔ)法錯(cuò)誤

game/room.ts(122,31): error TS2339: Property 'find' does not exist on type 'Room[]'.
game/server.ts(31,9): error TS2322: Type 'string' is not assignable to type 'number'.

https://github.com/CFETeam/we...
照理說(shuō)find應(yīng)該是內(nèi)置的方法才對(duì),不明白為什么報(bào)這個(gè)錯(cuò)誤。
本人之前沒(méi)有學(xué)過(guò)typescript,有沒(méi)有大神知道這個(gè)原因是什么。

回答
編輯回答
黑與白

@邊城 @weiwei

clipboard.png
我的環(huán)境這兩個(gè)功能還有問(wèn)題,所以導(dǎo)致了新的錯(cuò)誤,這個(gè)有什么方法解決嗎

clipboard.png

2018年5月18日 20:10
編輯回答
負(fù)我心

第一個(gè)錯(cuò)是因?yàn)?find 是在 ES6 以后才加入到 Array.prototype 的一個(gè)接口,如果是編譯錯(cuò)誤的話(huà),可能是類(lèi)型沒(méi)找到。我看了 tsconfig.json 里設(shè)置過(guò) "target": "es6",如果不在 es6 里可以換成 esnext 試試。不過(guò)在運(yùn)行的時(shí)候要看是否 es6 以上環(huán)境,如果不是,需要引入 polyfill。


第二個(gè)錯(cuò)報(bào)在 this.port = process.env.PORT,估計(jì)是 process.env.PORT 定義成 string 類(lèi)型或者推薦成 string 類(lèi)型的,改成 this.port = parseInt(process.env.PORT) 就可以了。

2017年5月17日 04:36
編輯回答
護(hù)她命

第一個(gè)問(wèn)題你應(yīng)該要在tsconfig.json配置文件里面再指定一下"lib": ["es5", "es2015"]選項(xiàng),來(lái)告訴ts的編譯器你正在使用ES2015附帶的標(biāo)準(zhǔn)庫(kù)

2017年8月21日 18:55