react @craco/craco的配置使用 配置路徑別名 @轉(zhuǎn)src

1. 終端命令

npm i @craco/craco

2. 新增 ./craco.config.js 文件
const path = require('path')
module.exports = {
  // webpack 配置
  webpack: {
    // 配置別名
    alias: {
      // 約定:使用 @ 表示 src 文件所在路徑
      '@': path.resolve(__dirname, 'src'),
      // 約定:使用 @scss 表示全局 SASS 樣式所在路徑
      // 在 SASS 中使用
      '@scss': path.resolve(__dirname, 'src/assets/styles')
    }
  }
}
3. 修改./package.json的script配置
...
"scripts": {
    "start": "craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "react-scripts eject"
  }
...
4. npm start 跑react項(xiàng)目
Compiled successfully!

You can now view geek-demo in the browser.       

  Local:            http://localhost:3000        
  On Your Network:  http://192.168.1.101:3000    

Note that the development build is not optimized.
To create a production build, use npm run build. 

webpack compiled successfully
No issues found.
5. 新增./path.tsconfig.json 使用extends 用來(lái)配置tsconfig.json
{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@/*": ["src/*"],
      "@scss/*": ["src/assets/styles/*"]
    }
  }
}
6. 修改./tsconfig.json, 新增一條配置, "extends": "./path.tsconfig.json"
{
  "extends": "./path.tsconfig.json",
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    ...
}
7. 重啟vscode, npm start跑項(xiàng)目, 此時(shí)你可以看到@已經(jīng)可以當(dāng)src絕對(duì)路徑使用了 (注意的是, Home如果是.tsx, 不要寫(xiě)后綴)
import Home from '@/pages/Home/Home'
const App = () => {
  console.log(Home)
  return (
    <div className="app">
      <h2>App組件</h2>
      <Home></Home>
    </div>
  )
}

export default App
import { http } from '@/utils/http'
function Home() {
  console.log(http)
  return (
    <div>
      <h2>Home組件</h2>
    </div>
  )
}

export default Home
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容