摘要:配合規(guī)范的更輕量純前端打開方式曾經(jīng)數(shù)年以前,就嘗試無奈至今一直有幾個(gè)小問題沒有處理必須要這樣的方式寫代碼,才能有提示由于,必須要打包項(xiàng)目,才能把以方式剔除必須要下安裝各種庫的才能到提示文件經(jīng)常會想,既然很麻煩,怎么使用無所謂,加個(gè)工具鏈也能
typescript 配合 amd 規(guī)范的更輕量、"純" 前端打開方式
曾經(jīng)數(shù)年以前,就嘗試 typescript 無奈至今一直有幾個(gè)小問題沒有處理:
0 必須要?import * as $ from "jquery" 這樣的方式寫代碼,才能有提示
1 由于0,必須要 webpack 打包項(xiàng)目,才能把 jquery 以 external 方式剔除
2 必須要 node_modules 下安裝各種庫的 d.ts 才能?resolve?到提示文件
經(jīng)常會想,既然很麻煩,怎么使用無所謂,加個(gè) webpack 工具鏈也能忍,html 提前引入腳本方式要放棄,一點(diǎn)點(diǎn)妥協(xié)之后,項(xiàng)目才能跑起來,對 npm 和 webpack 的重度依賴終究是個(gè)梗!
于是突然有一天發(fā)現(xiàn)了如下解法:
import * as $ from "jquery"
使用代碼不變,才能有提示
require.config({ baseUrl: "./", paths: { "jquery": "../lib/jquery.min", }, shim: { "jquery": { exports: "$" }, } })
這里同時(shí)加入 paths 和 shim,從而支持了 script 引入 和 require 加載
html 正常使用 script 全局引入,我用了百度的 esl 加載器 requirejs 同理
"paths": { "jquery": ["typing/jquery/index.d.ts"] },
tsconfig 配置后,可以把 @types/jquery 的申明文件放在自定義項(xiàng)目目錄./typing/ 里了
且你可以自定義靜態(tài)化的處理 typing 下的 d.ts 文件!
且你可以自定義靜態(tài)化的處理 typing 下的 d.ts 文件!
且你可以自定義靜態(tài)化的處理 typing 下的 d.ts 文件!
重事3遍,d.ts 和 模塊名的正確對應(yīng)后,vscode 提示完美!
至此,任意一個(gè)前端項(xiàng)目僅需要依賴一個(gè) tsc 編譯 typescript 就可以輕量的完美運(yùn)行了,
終于可以優(yōu)雅的寫 ts 了,爽!
由于依賴太少,大家可以根據(jù)需要定制自己的方案!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84478.html
摘要:不過,相對于靜態(tài)類型檢查帶來的好處,這些代價(jià)是值得的。當(dāng)然少不了的模塊化標(biāo)準(zhǔn),雖然到目前為止和大部分瀏覽器都還不支持它。本身支持兩種模塊化方式,一種是對的模塊的微小擴(kuò)展,另一種是在發(fā)布之前本身模仿的命名空間。有一種情況例外。 TypeScript 帶來的最大好處就是靜態(tài)類型檢查,所以在從 JavaScript 轉(zhuǎn)向 TypeScript 之前,一定要認(rèn)識到添加類型定義會帶來額外的工作量...
摘要:所以,如果你也考慮開始使用,不妨也看一下。使用模塊中,模塊的使用方法與一致。安裝好定義文件之后,如果使用等對支持較好的編輯器,則會提供更加強(qiáng)大的代碼提示功能。如果使用配合的,則可以方便地構(gòu)建瀏覽器可以運(yùn)行的代碼。 TypeScript所做的,是在JavaScript的基礎(chǔ)上加入了類型,TypeScript編譯器將TypeScript編譯成JavaScript,可以在瀏覽器或者nodej...
閱讀 1413·2023-04-26 01:58
閱讀 2289·2021-11-04 16:04
閱讀 1776·2021-08-31 09:42
閱讀 1768·2021-07-25 21:37
閱讀 1069·2019-08-30 15:54
閱讀 2078·2019-08-30 15:53
閱讀 3055·2019-08-29 13:28
閱讀 2693·2019-08-29 10:56