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';
