react native - ReactNative - "expo start" עובד עם קובץ tsx שאינו עומד בדקדוק של TypeScript
הרגע התחלתי עם React Native. יצרתי פרויקט עם 'expo init' עם האפשרות 'blank (TypeScript)' נבחרה.
יצרתי קומפוננטה שנקראת GoalItem.tsx כפי שמתואר למטה,
import React from 'react'
import { View, Text, StyleSheet } from 'react-native'
const GoalItem = props => (
<View>
<Text>{props.title}</Text>
</View>
)
export default GoalItem
זה רק קוד JavaScript בקובץ TSX. כשמקלידים tsc בטרמינל, אני מקבל שגיאות הקשורות לדקדוק של TypeScript, וזה מצופה.
כאשר הקלדתי expo start, זה פשוט עבד טוב ללא שום אזהרות או שגיאות.
שאלות: איך אנו גורמים ל-expo start לבדוק תחביר TypeScript קודם?
זה הקובץ tsconfig.json שלי
{
"extends": "expo/tsconfig.base",
"compilerOptions": {
"strict": true
}
}
תשובה #1
גם אני תהיתי על זה. הפתרון היחיד והחובבני שמצאתי הוא לשנות את הסקריפט כדי לקמפל את typescript ידנית קודם ואז להריץ את expo. אני לא מאמין שזה עובד עם כל ריענון של הקוד אבל לפחות יש לך את הבטחון שאם תאתחל את "start" אז תקבל קימפול של typescript.
בקובץ package.json זה מה ששיניתי
"scripts": {
"start": "yarn tsc && expo start" <-- change is here
[...]
}
זה גם יקרא קובץ tsconfig.json חוקי אם הוא קיים.
שים לב שאתה צריך להפעיל את הסקריפט "start" כדי שזה יעבוד, לדוגמה "yarn start" ולא רק "expo start".
