package.json
编辑页面
package.json 文件中可使用的 Expo 特定属性参考。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
package.json 是一个 JSON 文件,包含 JavaScript 项目的元数据。这里引用的是可在 package.json 文件中使用的、Expo 特有的属性。
install.exclude
以下命令会对项目中已安装的库执行版本检查,并在某个库的版本与 Expo 推荐版本不同时给出警告:
npx expo start和npx expo-doctornpx expo install(在安装该库的新版本时,或使用--check或--fix选项时)
通过在 package.json 文件中的 install.exclude 数组里指定该库,你可以将其排除在版本检查之外:
{ "expo": { "install": { "exclude": ["expo-updates", "expo-splash-screen"] } } }
doctor
允许配置 npx expo-doctor 命令的行为。
reactNativeDirectoryCheck
默认情况下,Expo Doctor 会将你项目中的包与 React Native directory 进行校验。此检查会对未包含在 React Native Directory 中的包列表发出警告。
你可以通过在项目的 package.json 文件中添加以下配置来自定义此检查:
{ "expo": { "doctor": { "reactNativeDirectoryCheck": { "enabled": true, "exclude": ["/foo/", "bar"], "listUnknownPackages": true } } } }
默认情况下,该检查已启用,并且会列出未知包。
appConfigFieldsNotSyncedCheck
Expo Doctor 会检查你的项目是否包含原生项目目录,例如 android 或 ios。如果这些目录存在,但未列在你的 .gitignore 或 .easignore 文件中,Expo Doctor 会验证是否存在应用配置文件。如果该文件存在,则表示你的项目已配置为使用 Prebuild。
当存在 android 或 ios 目录时,EAS Build 不会将应用配置属性同步到原生项目。如果满足这些条件,Expo Doctor 会发出警告。
你可以通过在项目的 package.json 文件中添加以下配置来禁用或启用此检查:
{ "expo": { "doctor": { "appConfigFieldsNotSyncedCheck": { "enabled": false } } } }