鍓嶈█鍦ㄦ敼閫犻」鐩敮鎸乀ypescript鍚庯紝璺戜簡鍑犳杩唬锛岃俯浜嗕竴浜涘潙銆傚ソ鍦ㄨ繖浜涘潙澶т綋涓婃槸鍙帶鐨勶紝娌℃湁缈昏溅锛屾墍浠ュ啓浜嗕竴绡囨枃绔犲垎浜紝鎯充綋楠寁ue+typescript鐨勫彲浠ョ湅鐪嬨€備箣鍓嶇殑閰嶇疆杩囩▼鎵句簡寰堝璧勬枡锛屼絾澶у鏄互涓嬩袱绉嶈В鍐虫柟妗堬細涓€涓槸鍩轰簬vue-cli3+鐨勫叏鏂伴」鐩紝涓€涓槸寮曞叆typescript鐨剉ue-cli2鑰侀」鐩紝浣嗘槸鎴戜滑鍏徃鐨勯」鐩病鏈夊紩鍏ypescript鍦ㄥ垱寤烘柊椤圭洰鏀寔鏃躲€傚鏋滃悗闈㈣寮曞叆typescript锛屾湁娌℃湁涓€绉嶅悜鍚庡吋瀹圭殑鏂瑰紡灏嗗叾闆嗘垚鍒扮幇鏈夌殑椤圭洰涓紝鍙互鍚屾椂鏀寔ts鍜宩s锛屼娇寰楃幇鏈夌殑浠g爜鍑犱箮涓嶉渶瑕佹敼鍔ㄣ€備笅闈㈠垎涓夐儴鍒嗘潵鎻忚堪馃憞锛氭柊寤轰竴涓熀浜巚ue-cli3+锛屾敮鎸乼ypescript鐨勯」鐩槸濡備綍閰嶇疆鐨勶紵濡備綍灏嗚繖浜涗笉鍚岀殑閰嶇疆搴旂敤鍒扮幇鏈夐」鐩腑锛熷洜涓哄瓙椤圭洰闇€瑕佸鍏ヤ富妯″潡鐨刟pp锛岃€寁ue銆乪lement-ui绛夋槸extenal瀵煎叆鐨勶紝杩欎簺闇€瑕佹€庝箞閰嶇疆鎵嶈兘璁﹖s涓嶆姤閿欏憿锛?銆佹柊寤轰竴涓熀浜巚ue-cli3+锛屾敮鎸乼ypescript鐨勯」鐩浣曢厤缃紵鍦ㄥ紑濮嬩箣鍓嶏紝鎴戜滑鍏堜簡瑙d竴涓婽ypescript鏄粈涔堬紵涓轰粈涔堥渶瑕佸畠锛屽畠鑳界粰椤圭洰甯︽潵浠€涔堬紵锛堝鏋滄偍鐔熸倝TypeScript锛岃繖閮ㄥ垎鍙互璺宠繃銆傦級TypeScript鏄疛avaScript鐨勮秴闆嗐€傛濡傚畼鏂规弿杩版墍璇达細鈥淎supersetofJavascript鈥濓紝Typescript鏇存帴杩戦潰鍚戝璞$殑璇█锛屾敮鎸佹洿澶欽S鏃犳硶鏀寔鐨勮娉曪細渚嬪閾惧紡璇硶锛宩s:res&&res.data&&res.data.name;tswords:res?.data?.name铏界劧babel涔熸湁绫讳技鐨勬彃浠舵潵瀹炵幇杩欑璇硶銆傚苟涓攖s鏄悜涓嬪吋瀹圭殑锛屽嵆js鐨勮娉曞彲浠ョ洿鎺ュ湪ts涓娇鐢ㄣ€傛洿涓ヨ皑锛屽彲浠ユ彁鍓嶉伩鍏嶄竴浜沚ug锛屽悓鏃舵柟渚垮悗鏈熼」鐩殑缁存姢js鏄竴绉嶈В鏋愬瀷寮辩被鍨嬭瑷€銆傛瘮濡俲s鍦ㄥ緢澶氭儏鍐典笅鏄湁闅愬舰杞崲鐨勶紝鍙槸鍦ㄨ繍琛屾椂鎶ラ敊锛岃繖鏃犵枒涓烘垜浠煁涓嬩簡寰堝涓嶄负浜虹煡鐨勫潙锛屽挨鍏舵槸鍦ㄤ竴浜涘ぇ鍨嬮」鐩腑锛屾墍浠ュ皢涓€浜涘ぇ鍨嬮」鐩姇鍏ユ€€鎶眛s鐨勶紝姣斿ant-design锛寁scode锛岃繕鏈夊嵆灏嗘帹鍑虹殑vue3鐗堟湰vue-next銆倀s闇€瑕佸厛缂栬瘧鎴恓s鎵嶈兘鍦ㄦ祻瑙堝櫒涓墽琛岋紝鎵€浠ュ湪缂栬瘧鐨勮繃绋嬩腑锛屽畠鍙互鎻愰啋鎴戜滑寰堝鍙兘鐨勯敊璇紝鎴戜滑鍙互鐩稿簲鐨勬敼姝c€傛洿濂界殑寮€鍙戜綋楠岃繖涓昏鏄灏忕紪鏇存櫤鑳芥洿鍙嬪ソ鐨勬彁绀恒€傛垜浠洰鍓嶇殑缂栬緫鍣ㄦ彁绀哄姛鑳戒富瑕佹槸鍊熷姪涓€浜汼nippets鎻掍欢鏉ュ疄鐜扮殑锛屼絾鏄痶s鐨剎x.d.ts澹版槑鏂囩珷鏇村姞鏅鸿兘锛屽缂栬緫鍣ㄤ篃鏇村姞鍙嬪ソ銆傚彲浠ヨ锛屽0鏄庢枃浠跺啓寰楄秺瀹屾暣锛岀紪杈戝櫒灏辫秺鑱槑銆備緥濡傦紝璁稿npm鍖呯幇鍦ㄩ兘鏈夎嚜宸辩殑typescript澹版槑鏂囦欢銆傚鏋滄病鏈夛紝浣犲彲浠ュ湪DefinitelyTyped涓婃壘鎵撅紝鎴栬€呰嚜宸卞啓澹版槑鏂囦欢锛屾瘮濡傛垜涓婇潰鍐欑殑鈥渁pp鈥漝eclaremodule鈥渁pp鈥漿import{Store,Module}from鈥渧uex鈥?浠庘€淍/store鈥濆鍏IState}锛涜緭鍏ubModuleOptions={鍚嶇О锛氬瓧绗︿覆锛泂tore?:Module;//TODO:Module涓殑R鎸囩殑鏄痳ootState锛宎pp涓诲伐绋嬩笉瑕佽浆鎴恡ypescript锛屽厛浣跨敤浠绘剰鐢熸垚鍣細(path:string)=>()=>Promise;};鎺ュ彛绯荤粺{registerModule(subModuleOptions:SubModuleOptions):void;璁╃郴缁燂細绯荤粺锛沴etutils:Record;璁╅厤缃細璁板綍<瀛楃涓诧紝瀛楃涓?锛沴etrequest:Record;璁板綍<瀛楃涓诧紝浠绘剰>锛沴etstore:Store;}鍏充簬ts鐨勮缁嗕粙缁嶈鍙傝€冨畼鏂规枃妗ttps://www.typescriptlang.org/銆傜綉涓婁篃鏈夊緢澶氭枃绔犳弿杩颁簡浣跨敤ts鐨勪紭缂虹偣銆傝繖閲屽氨涓嶅睍寮€浜嗭紝涓嬮潰寮€濮嬫垜浠殑姝e紡鍐呭銆傘兙(鈮р柦鈮?)oCreateanemptyvue+typescriptproject鍩轰簬vue-cli3+鏂板缓涓€涓猼ypescript椤圭洰锛岀綉涓婃湁寰堝杩欐牱鐨勬枃妗o紝姣斿https://segmentfault.com/a/1190000019905650锛宲ay娉ㄦ剰閫夋嫨Useclass-stylecomponentsyntax锛熷綋鎴戜滑閫夋嫨yes鏃讹紝鍥犱负鎴戜滑闇€瑕佷娇鐢ㄧ被缁勪欢銆傚姣斾笉鏀寔typescript鐨剉ue椤圭洰锛屾柊鐨勫湴鏂瑰涓嬶細鈹溾攢src鈹傗敎鈹€main.ts鈹傗敎鈹€shims-tsx.d.ts鈹傗敂鈹€shims-vue.d.ts鈹溾攢tsconfig.json浠庡悕瀛楀氨鍙互鐪嬪嚭杩欏嚑涓枃浠剁殑浣滅敤锛岃繖閲屽厛蹇界暐瀹冧滑銆傚彟澶栵紝褰撶劧package.json鍜?eslintrc.js涓殑閰嶇疆涔熸湁浜涗笉鍚屻€傜浉姣斾箣涓嬶紝鍏朵粬package.json鍙湁vue-class-component銆乿ue-property-decorator銆乼ypescript銆丂typescript-eslint/parser銆丂typescript-eslint/parser銆丂vue/cli-plugin-typescript銆丂vue/eslint-config-typescript杩欎簺鍖呫€?.灏嗚繖浜涘樊寮傚簲鐢ㄤ簬鐜版湁椤圭洰鎴戜滑濡備綍灏嗚繖浜涘樊寮傚簲鐢ㄤ簬鐜版湁椤圭洰锛熸懜鐫€鐭冲ご杩囨渤锛屾垜浠洿鎺ユ妸杩欎簺涓嶅悓鐨勬柊鏂囦欢澶嶅埗鍒板悓涓€涓洰褰曠粨鏋勪笅锛岀劧鍚庢坊鍔爌ackage.json涓笉瀛樺湪鐨勫寘锛屼慨鏀筸ain.js涓簃ain.ts锛堣繖閲屽彲鑳芥湁鍧戯級,骞跺鍒?eslintrc.js閰嶇疆銆傚噯澶囧ソ杩欎簺鍚庯紝鍒犻櫎node_modules锛岀敤npminstall閲嶆柊瀹夎3.鍥犲湴鍒跺疁锛屽鏋滅洿鎺ユ牴鎹」鐩叿浣撴儏鍐甸厤缃繍琛岄」鐩紝鍙兘浼氭姤寰堝绫讳技鐨勬姤閿欙紵鎵句笉鍒版ā鍧椻€渪xx鈥濇垨鍏跺搴旂殑绫诲瀷澹版槑銆傛姤閿欙紝杩欐槸鍥犱负鎵句笉鍒板搴旂殑澹版槑鏂囦欢銆傛牴鎹」鐩殑鍏蜂綋鎯呭喌锛屾瘮濡傛垜浠殑椤圭洰vue銆乿uex銆乪lement-ui銆乤pp绛夐兘鏄€氳繃externals瀵煎叆鐨勶紝鎵€浠ュ湪package.json涓壘涓嶅埌瀵瑰簲鐨勪緷璧栵紝鎵€浠ユ病鏈夊寘澹版槑鏂囦欢.濂藉湪vue銆乿uex銆乪lement-ui閮芥彁渚涗簡澹版槑鏂囦欢銆傛垜浠彧闇€瑕佸皢杩欎簺鍖呭畨瑁呬负寮€鍙戜緷璧杁evDependencies锛屽湪鍚庣画鐨勫紑鍙戜腑灏卞彲浠ヤ娇鐢ㄨ繖浜涘0鏄庢枃浠朵簡銆備絾鏄痑pp鏄富宸ョ▼鐨剈md鍖咃紝娌℃湁澹版槑鏂囦欢銆傝繖涓椂鍊欐垜浠氨寰楄嚜宸卞啓app鐨勫0鏄庢枃浠朵簡銆傛渶绠€鍗曠殑鏂规硶鏄湪src鐩綍涓嬫柊寤轰竴涓猼ypings鐩綍锛屽苟鏂板缓涓€涓猘pp.d.ts锛宒eclaremodule"app"璇彞锛岃繖鏍峰氨涓嶄細鎶ラ敊浜嗐€傛湁鍏冲浣曠紪鍐欏0鏄庢枃浠剁殑璇︾粏淇℃伅锛岃鍙傞槄https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html銆傚彟澶栧彲鑳借繕鏈夊叾浠栫殑閿欒锛屾瘮濡俥slint鐨勯敊璇紝瑕佹牴鎹叿浣撶殑閿欒鏉ヨВ鍐炽€?銆佷娇鐢╰s杩涜涓氬姟寮€鍙憈s寮€鍙戠幆澧冩惌寤哄畬鎴愬悗锛岀敱浜巘s鍚戜笅鍏煎锛屼箣鍓嶇殑鎵€鏈変笟鍔′唬鐮侀兘涓嶉渶瑕佹敼鍔ㄣ€傚鏋滀互鍚庣敤ts寮€鍙戯紝灏卞浼氱敤ts锛寁ue-property-decorator鍜寁ue-class-component銆傚悗闈㈡湁鏈轰細浼氬啓tsconfig閰嶇疆锛屽0鏄庢枃浠讹紝vuex鍐呭銆傛劅璋㈡偍闃呰銆傚鏈夐棶棰橈紝璇蜂氦娴併€?/p>