Ts+Cra專案 檔案路徑別名不生效問題
阿新 • • 發佈:2020-12-23
在配置完成啟動專案時發現,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"
},
重啟專案,完成