1. 程式人生 > 實用技巧 >cypress 在 typescript 專案中報錯找不到 'tslib'

cypress 在 typescript 專案中報錯找不到 'tslib'

原文連結:https://blog.jijian.link/2020-08-11/cypress-typescript-cannot-find-module-tslib/

cypresstypescript專案執行報錯如下:

An unexpected error occurred

Cannot find module 'tslib' Require stack:

C:\...\Cypress\resources\app\packages\reporter\lib\resolve-dist.js
C:\...\Cypress\resources\app\packages\server\lib\controllers\reporter.js
C:\...\Cypress\resources\app\packages\server\lib\routes.js

以上報錯會出現在任何 typescript 專案下,只要安裝 cypress 的上級目錄中裝有 typescript,不論是相隔多少層的上級目錄,都會有以上的問題報錯。

官方回答在 5.0 版本會修復此問題,參考:https://github.com/cypress-io/cypress/issues/7503

問題原因

瞅瞅專案下的tsconfig.json,一定有如下配置importHelpers

{
  "compilerOptions": {
    "importHelpers": true
  }
}

importHelpers官方說明:

Import emit helpers (e.g. '__extends', '__rest', etc..) from tslib. Requires TypeScript version 2.1 or later.

(從 tslib 匯入輔助工具函式(比如 __extends, __rest等))

解決辦法

  1. 將以上配置刪除即可

  2. 將配置欄位改為false