//?popup.css.d.ts
declare?const?popupStyle?:?{
????//?readonly?"popup":string;
}
export?default?popupStyle;
//?popup.css?這里省略了部分css屬性
.popup?{?position:?fixed;}
.popup-title?{?flex:?none;}
.popup-title?h3?{?font-size:?18px;}
.popup-title?i?{?width:?30px;}
.popup-title?i:hover?{?color:?#fff;}
.popup-content?{?flex:?1;}
.popup-mask?{?position:?fixed;}
//?popup.ts
import?popupStyle?from?'./popup.css';
//?...
console.log('popupStyle',?popupStyle);?//?有值,?正常?
//?popupStyle:?{popup:?"g-popup--231tR",?popup-title:?"g-popup-title--1qc1l",?popup-content:?"g-popup-content--1K5M-",?popup-mask:?"g-popup-mask--3i6ER"}
console.log('popupStyle',?popupStyle['popup']);?//?有值,?正常
console.log('popupStyle',?popupStyle['popup-title']);?//?有值,?正常
console.log('popupStyle',?popupStyle.popup);?//?報錯??-?見圖

2020-11-24
TS中規(guī)定[]這種默認是可以不用定義的,底層會認為有默認的索引簽名。點這種就必須要聲明了,不過也可以簡化聲明,利用索引簽名 [x:?string]:?any;