TypeScript 常见问题 - ythy/blog GitHub Wiki
-
declare interface 'XXX'接口声明增加新字段不会立刻生效。 需要重启Webpack.
例: 添加字段test,报错:error TS2339: Property 'test' does not exist on type 'XXX' -
moment.js的初始化
正确:import moment from 'moment';
错误:import * as moment from 'moment'; -
moment.js format
正确:moment(${elem.mDate} ${elem.mTime}, 'YYYY-MM-DD HHmmss')
错误:moment(${elem.mDate} ${elem.mTime})
报错信息: Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info. -
type 在接口中的使用
usePoint: 'Y' | 'N'; //是否使用积分 Y - 使用 N - 不使用这样可以校验 usePoint 值是否不符合约定
-
接口的使用
错误:let request:GBPurchaseRequsetInfo = {};
正确:let request:GBPurchaseRequsetInfo = <GBPurchaseRequsetInfo >{};需要强转 -
方法类型的声明
- 通过接口定义:
resolve:ResolveCallbackinterface ResolveCallback{ (json:UJsonRespond):void; } resolve:{(json:UJsonRespond):void}resolve:(json:UJsonRespond) => void
- 通过接口定义:
-
export & import
module.exports = { sha256_digest: sha256_digest };类似这种没有用 export default 的模块, 不能用 import X from 'x' 而要用 import * as X from 'x'
-
接口声明文件 如果 有
import或export声明不生效import 'uuid'; interface IA{ f:string; }以上
IA接口声明 无效