如何解決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
聲明的內(nèi)部方法是 Function.prototype.xxx
的語法糖。
同時ES6
中,原型上的方法不可以枚舉,導致無法通過for...in
獲取對應的方法
解決問題
因此tsconfig.json
中配置更改為 target: es5
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
數(shù)據(jù)結構TypeScript之棧和隊列詳解
這篇文章主要介紹了數(shù)據(jù)結構TypeScript之棧和隊列詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01rollup?cli開發(fā)全面系統(tǒng)性rollup源碼分析
這篇文章主要為大家介紹了rollup?cli開發(fā)全網(wǎng)系統(tǒng)性rollup源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01