如何解決tsconfig.json配置不生效的問題
tsconfig.json配置不生效的問題
說明一下我遇到的問題,這是我的配置文件代碼的
{
"compilerOptions": {
"module": "none",
"target": "ES5",
"outFile": "./dist/bundle.js"
}
}和我想象不同的是,我編譯成 js 沒有在 dist 目錄下生成 bundle.js
下面我來說一下情況
我的錯誤是因為 我在使用 tsc 命令的時候,我在后面接上了具體的文件,所以 ts 編譯直接跳過了配置文件 tsconfig,json
以下是其他可能發(fā)生的情況
outFile 的限制:
- outFile 選項僅適用于 module 設置為 none、amd 或 system 的情況。
- 如果你的 TypeScript 文件中使用了 ES 模塊(如 import/export),即使你在 tsconfig.json 中 設置了 "module": "none",編譯器仍然可能會報錯或忽略 outFile。
輸出目錄未創(chuàng)建:
- TypeScript 編譯器不會自動創(chuàng)建 dist 目錄。如果目標目錄不存在,編譯器會直接將文件輸出 到當前目錄,而不是指定的路徑。
編譯命令的問題:
- 如果你在運行 tsc 命令時指定了特定的文件(如 tsc hello.ts),TypeScript 會忽略 tsconfig.json 文件中的配置,包括 outFile 和其他選項
tsconfig.json的target配置為es6之后,for...in失效
問題描述
在學習Typescript項目時,將tsconfig.json中的target配置為es6之后。導致項目中一段交叉類型報錯。
實現(xiàn)案例
將一個類中的原型方法復制到另一個對象中。利用for...in 進行遍歷復制
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 聲明的內部方法是 Function.prototype.xxx的語法糖。
同時ES6中,原型上的方法不可以枚舉,導致無法通過for...in獲取對應的方法
解決問題
因此tsconfig.json中配置更改為 target: es5
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
TS中Array.reduce提示沒有與此調用匹配的重載解析
這篇文章主要為大家介紹了TS中Array.reduce提示沒有與此調用匹配的重載解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
TypeScript函數(shù)參數(shù)和返回類型的注解方式
這篇文章主要介紹了TypeScript函數(shù)參數(shù)和返回類型的注解方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05
數(shù)據(jù)結構TypeScript之棧和隊列詳解
這篇文章主要介紹了數(shù)據(jù)結構TypeScript之棧和隊列詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
TypeScript 高級數(shù)據(jù)類型實例詳解
這篇文章主要為大家介紹了TypeScript 高級數(shù)據(jù)類型實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
rollup?cli開發(fā)全面系統(tǒng)性rollup源碼分析
這篇文章主要為大家介紹了rollup?cli開發(fā)全網(wǎng)系統(tǒng)性rollup源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01

