如何解決tsconfig.json配置不生效的問題
tsconfig.json配置不生效的問題
說明一下我遇到的問題,這是我的配置文件代碼的
{ "compilerOptions": { "module": "none", "target": "ES5", "outFile": "./dist/bundle.js" } }
和我想象不同的是,我編譯成 js 沒有在 dist 目錄下生成 bundle.js
下面我來說一下情況
我的錯誤是因?yàn)?我在使用 tsc 命令的時候,我在后面接上了具體的文件,所以 ts 編譯直接跳過了配置文件 tsconfig,json
以下是其他可能發(fā)生的情況
outFile 的限制:
- outFile 選項(xiàng)僅適用于 module 設(shè)置為 none、amd 或 system 的情況。
- 如果你的 TypeScript 文件中使用了 ES 模塊(如 import/export),即使你在 tsconfig.json 中 設(shè)置了 "module": "none",編譯器仍然可能會報(bào)錯或忽略 outFile。
輸出目錄未創(chuàng)建:
- TypeScript 編譯器不會自動創(chuàng)建 dist 目錄。如果目標(biāo)目錄不存在,編譯器會直接將文件輸出 到當(dāng)前目錄,而不是指定的路徑。
編譯命令的問題:
- 如果你在運(yùn)行 tsc 命令時指定了特定的文件(如 tsc hello.ts),TypeScript 會忽略 tsconfig.json 文件中的配置,包括 outFile 和其他選項(xiàng)
tsconfig.json的target配置為es6之后,for...in失效
問題描述
在學(xué)習(xí)Typescript項(xiàng)目時,將tsconfig.json中的target配置為es6之后。導(dǎo)致項(xiàng)目中一段交叉類型報(bào)錯。
實(shí)現(xiàn)案例
將一個類中的原型方法復(fù)制到另一個對象中。利用for...in
進(jìn)行遍歷復(fù)制
export function extend<T, U>(to: T, from: U): T & U { for (const key in from) { (to as T & U)[key] = from[key] as any } return to as T & U }
問題定位
由于 ES6 class
聲明的內(nèi)部方法是 Function.prototype.xxx
的語法糖。
同時ES6
中,原型上的方法不可以枚舉,導(dǎo)致無法通過for...in
獲取對應(yīng)的方法
解決問題
因此tsconfig.json
中配置更改為 target: es5
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
TypeScript學(xué)習(xí)輕松玩轉(zhuǎn)類型操作
這篇文章主要為大家介紹了TypeScript學(xué)習(xí)輕松玩轉(zhuǎn)類型操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07數(shù)據(jù)結(jié)構(gòu)TypeScript之棧和隊(duì)列詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)TypeScript之棧和隊(duì)列詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01rollup?cli開發(fā)全面系統(tǒng)性rollup源碼分析
這篇文章主要為大家介紹了rollup?cli開發(fā)全網(wǎng)系統(tǒng)性rollup源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01typescript類型體操及關(guān)鍵字使用示例詳解
這篇文章主要為大家介紹了typescript類型體操及關(guān)鍵字使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11