typescript 報錯 TS1005 ; expected


今天遇到這個報錯,

error TS1005: '=' expected. import type { keyType } from './aa';

如下圖所示:

package.json 中 編譯 ts 的命令如下 "build-ts": "tsc -p tsconfig.build.json"

這個報錯 主要是因為使用了下面這種語法

import type { keyType } from './someType';

這個語法 import type僅僅導入, 這是 TypeScript 3.8 新增的屬性

關於 import type 想了解更多 可以看這倆:

https://segmentfault.com/a/1190000039800522
https://www.typescriptlang.org/docs/handbook/modules.html#importing-types

找到原因是版本問題,那就按照網上的教程 npm install typecript@4.4.4 -g 安裝了最新版本

但是還報錯,后來在node_modules 下看到有個 typescript 一看版本是 3.7.2, 原來這個項目 本身是安裝了 typescript的,

趕緊把該項目的typescript 更新到最新版本,問題解決, 如下圖所示

總結:

這里其實涉及到了 node_modules 模塊查找的問題, 當使用 tsc -p tsconfig.build.json 時, 首先會在 目錄下的 node_modules 下中查找typsscript模塊,
沒有的話 再往上級,一直找到全局環境, 所以之前就是 先使用了 該項目中的 typescrip,導致了報錯,雖然typescript 全局安裝的版本是沒問題, 但是 根本沒使用到全局版本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM