js項(xiàng)目中添加ts支持實(shí)現(xiàn)示例詳解
安裝 TypeScript 依賴(lài)
首先安裝 TypeScript 依賴(lài),我們要通過(guò) tsc
指令創(chuàng)建聲明文件:
pnpm install -D typescript
創(chuàng)建配置文件
接下來(lái)創(chuàng)建 TypeScript 配置文件:
npx tsc --init
這一步會(huì)在項(xiàng)目的根目錄下創(chuàng)建一個(gè) tsconfig.json
文件。我們?cè)谠瓉?lái)配置的基礎(chǔ)上開(kāi)放一些配置:
{ "compilerOptions": { "target": "es2016", "module": "commonjs", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitAny": false, "skipLibCheck": true, + "allowJs": true, + "checkJs": true, + "declaration": true, + "emitDeclarationOnly": true, + "rootDir": "./", + "outDir": "./types", } + "include": [ + "security/**/*" + ] }
字段說(shuō)明
對(duì)上述字段,我們挑幾個(gè)重要的說(shuō)明一下。
allowJs
、checkJs
增加 JS 文件支持declaration
、emitDeclarationOnly
我們只需要 tsc 幫我們生成類(lèi)型聲明文件即可rootDir
、outDir
指定了類(lèi)型聲明文件生成到types/
目錄include
我們只為security/
目錄下的代碼生成類(lèi)型聲明文件
想詳細(xì)了解每個(gè)配置字段的含義,可以參考 TypeScript 官方說(shuō)明:https://aka.ms/tsconfig。
生成類(lèi)型文件
項(xiàng)目根目錄下創(chuàng)建 index.d.ts 文件
export let security: typeof import("./types/security");
接下里修改 package.json
, 增加當(dāng)前 npm 包的類(lèi)型聲明支持和構(gòu)建腳本 typecheck
:
{ "scripts": { // ... "typecheck": "tsc", }, types: "index.d.ts" }
接下來(lái)執(zhí)行腳本:
npm run typecheck
最后就能看到在 types/
目錄下為 security/
生成的類(lèi)型聲明文件了。
以上就是js項(xiàng)目中添加ts支持實(shí)現(xiàn)示例詳解的詳細(xì)內(nèi)容,更多關(guān)于js項(xiàng)目添加ts支持的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript數(shù)組排序的六種常見(jiàn)算法總結(jié)
這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組排序的六種常見(jiàn)算法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用JavaScript數(shù)組具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08JavaScript取得鼠標(biāo)絕對(duì)位置程序代碼介紹
文章介紹了關(guān)于JavaScript在不同瀏覽器下取得鼠標(biāo)絕對(duì)位置相關(guān)函數(shù)用法及兼容性介紹,有需要的同學(xué)可參考一下2012-09-09js實(shí)現(xiàn)網(wǎng)頁(yè)定位導(dǎo)航功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)網(wǎng)頁(yè)定位導(dǎo)航功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03JS中call apply bind函數(shù)手寫(xiě)實(shí)現(xiàn)demo
這篇文章主要為大家介紹了JS中call apply bind函數(shù)手寫(xiě)實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03使用js實(shí)現(xiàn)按鈕控制文本框加1減1應(yīng)用于小時(shí)+分鐘
正如標(biāo)題所言使用js實(shí)現(xiàn)按鈕控制文本框加1減1,此類(lèi)主要應(yīng)用于小時(shí)+分鐘,下面有個(gè)不錯(cuò)的示例,喜歡的朋友可以參考下2013-12-12Bootstrap開(kāi)發(fā)實(shí)戰(zhàn)之第一次接觸Bootstrap
Bootstrap開(kāi)發(fā)實(shí)戰(zhàn)之第一次接觸Bootstrap,想要學(xué)好一門(mén)語(yǔ)言,首先應(yīng)該進(jìn)行深入了解,感興趣的小伙伴們可以參考一下2016-06-06javascript中的有名函數(shù)和無(wú)名函數(shù)
javascript中的有名函數(shù)和無(wú)名函數(shù)...2007-10-10