ค้นหาเว็บไซต์

typescript - ดูเหมือนว่าเส้นทางสัมบูรณ์ใน React Native จะใช้งานไม่ได้


ฉันพยายามกำหนดค่า React Native ให้ใช้เส้นทางแบบสมบูรณ์เพื่อช่วยลดความยุ่งยากในการนำเข้า ฉันลองวิธีต่างๆ หลายแบบแต่ไม่มีวิธีไหนที่ใช้ได้สำหรับฉัน นี่คือตัว tsconfig.json ของฉัน:

{
    "compilerOptions": {
        "allowJs": true,
        "allowSyntheticDefaultImports": true,
        "esModuleInterop": true,
        "isolatedModules": true,
        "jsx": "react",
        "lib": ["es6"],
        "moduleResolution": "node",
        "noEmit": true,
        "strict": true,
        "target": "esnext",
        "baseUrl": "src"
    },
    "include": ["src"],
    "exclude": [ "node_modules", "babel.config.js", "metro.config.js"]
}

และ babel.config.js:

module.exports = {
    presets: ['module:metro-react-native-babel-preset'],
    plugins: [['module-resolver', { root: ['./src'] }]],
}

ฉันลองทั้งแบบมีและไม่มีปลั๊กอิน babel ลองปรับค่าการตั้งค่าต่าง ๆ ที่ค้นหาเจอจาก Google ฉันลองเพิ่ม "baseUrl": "src" โดยไม่ใช้ตัวเลือก paths หรือ "baseUrl": "./src" ฉันลองรูปแบบต่าง ๆ ของ "paths": {"*": ["./src/*"]}, "paths": {"*": ["src/*"]} และอื่น ๆ ฉันลองเพิ่ม "include": ["src"] หรือเอาออก VS Code เข้าใจการ import ได้ดีมาก แต่เมื่อฉันรันแอป มันจะพังที่ path แบบ absolute มีอะไรชัดเจนที่ฉันพลาดไปไหม?

คำตอบ #1

ลองเพิ่ม jsconfig.json ในโฟลเดอร์หลักของคุณ เช่น:

{
  "compilerOptions": {
    "baseUrl": "src"
  },
  "include": ["src"]
}

หากคุณกำลังใช้ TS คุณสามารถกำหนดการตั้งค่า baseUrl ภายใน compilerOptions ของไฟล์ tsconfig.json ของโปรเจคของคุณได้

ดังนั้นตอนนี้ ถ้าโฟลเดอร์ src ของคุณมีโฟลเดอร์ components คุณก็สามารถทำได้ดังนี้:

import MyComponent from 'components/MyComponent';