1. 程式人生 > 其它 >Ts+Cra專案 檔案路徑別名不生效問題

Ts+Cra專案 檔案路徑別名不生效問題

技術標籤:tsreact

在配置完成啟動專案時發現,tsconfig.json中的paths配置項被刪除。
導致編譯時一直找不到檔案

經過一番查詢,後來得知原因可能是專案啟動時tsconfig.json被重寫。

避免重寫的辦法:
新建一個ts.paths.json檔案,內容如下:

{
    "compilerOptions":{
        "paths": {
            "@/*": ["./src/*"]
        }
    }
}

然後再tsconfig.json中使用extends方法引入:

{
  "compilerOptions": {
    ... // 一些配置
  },
  "extends": "./ts.paths.json",
}

安裝 react-app-rewired 和 customize-cra 來自定義 create-react-app 的 webpack 配置。
在專案根目錄建立config-overrides.js檔案,檔案內容如下:

const { override, addWebpackAlias} = require("customize-cra")
const path =
require('path') module.exports = override( addWebpackAlias({ "@": path.resolve(__dirname, "./src"),// 指定路徑別名 }), )

修改package.json檔案

"scripts": { 
    "start": "react-app-rewired start", 
    "build": "react-app-rewired build"
, "test": "react-app-rewired test", "eject": "react-app-rewired eject" },

重啟專案,完成