是否可以在 React Native 中隐藏 "BugReporting extraData"? (使用世博会)
Is it possible to hide the "BugReporting extraData" in React Native? (Using Expo)
每次我使用 Expo 打开 React Native 应用程序时,我都会在控制台中收到大量消息,其中包含有关该应用程序的元数据,这实际上并不能帮助我进行调试。特别是因为它每次都是相同的信息,并且每次应用程序重新加载时都会显示(即使是热重新加载或实时重新加载):
Running application "main"
with appParams: {
"rootTag": 171,
"initialProps": {
"exp": {
"manifest": {
"splash": {
"backgroundColor": "#1c2d3c"
},
"packagerOpts": {
"lanType": "ip",
"urlRandomness": "e4-nfi",
"hostType": "tunnel",
"dev": true,
"minify": false
},
"debuggerHost": "localhost:19001",
"bundleUrl": "http://localhost:19001/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&minify=false&hot=false&assetPlugin=pathToProjectFiles",
"facebookAppId": "FBAppIdGoesHere",
"android": {
"splash": {
"xxhdpi": "./src/assets/img/splash-android.png",
"backgroundColor": "#1c2d3c",
"xxxhdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"xhdpi": "./src/assets/img/splash-android.png",
"hdpi": "./src/assets/img/splash-android.png",
"xxxhdpi": "./src/assets/img/splash-android.png",
"resizeMode": "cover",
"ldpi": "./src/assets/img/splash-android.png",
"xxhdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"ldpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"xhdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"hdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"mdpi": "./src/assets/img/splash-android.png",
"mdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png"
},
"config": {
"googleSignIn": {
"apiKey": "APIKeyGoesHere",
"certificateHash": "HashGoesHere"
}
},
"iconUrl": "http://localhost:19001/assets/./src/assets/img/icon-android.png",
"package": "com.organizationName.apps",
"permissions": ["CAMERA", "INTERNET", "LOCATION", "READ_EXTERNAL_STORAGE", "READ_INTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE", "com.anddoes.launcher.permission.UPDATE_COUNT", "com.android.launcher.permission.INSTALL_SHORTCUT", "com.google.android.c2dm.permission.RECEIVE", "com.google.android.gms.permission.ACTIVITY_RECOGNITION", "com.google.android.providers.gsf.permission.READ_GSERVICES", "com.htc.launcher.permission.READ_SETTINGS", "com.htc.launcher.permission.UPDATE_SHORTCUT", "com.majeur.launcher.permission.UPDATE_BADGE", "com.sec.android.provider.badge.permission.READ", "com.sec.android.provider.badge.permission.WRITE", "com.sonyericsson.home.permission.BROADCAST_BADGE"],
"icon": "./src/assets/img/icon-android.png",
"versionCode": 10
},
"slug": "app-name-goes-here",
"facebookDisplayName": "NameOfApp",
"icon": "./src/assets/img/icon-android.png",
"primaryColor": "#cccccc",
"isVerified": true,
"version": "1.1.5",
"xde": true,
"name": "NameOfApp",
"facebookScheme": "SomeFBSchemeCodeGoesHere",
"iconUrl": "http://localhost:19001/assets/./src/assets/img/icon-android.png",
"id": "@jhwheeler/name-of-app",
"hostUri": "localhost:19000",
"orientation": "portrait",
"sdkVersion": "27.0.0",
"env": {},
"hooks": {
"postPublish": [{
"config": {
"organization": "organizationNameHere",
"project": "projectNameHere",
"authToken": "authTokenGoesHere"
},
"file": "sentry-expo/upload-sourcemaps"
}]
},
"loadedFromCache": false,
"ios": {
"splash": {
"resizeMode": "cover",
"imageUrl": "http://localhost:19001/assets/./src/assets/img/splash-ios.png",
"backgroundColor": "#1c2d3c",
"image": "./src/assets/img/splash-ios.png"
},
"supportsTablet": false,
"iconUrl": "http://localhost:19001/assets/./src/assets/img/icon-ios.png",
"infoPlist": {
"NSLocationAlwaysUsageDescription": "Nice message goes here",
"NSLocationWhenInUseUsageDescription": "Nice message goes here"
},
"bundleIdentifier": "com.orgName.apps",
"buildNumber": "1",
"icon": "./src/assets/img/icon-ios.png"
},
"logUrl": "http://localhost:19000/logs",
"privacy": "unlisted",
"mainModuleName": "node_modules/expo/AppEntry",
"developer": {
"projectRoot": "/path/to/project",
"tool": "xde"
},
"description": "descriptionOfApp"
},
"appOwnership": "expo",
"initialUri": "exp://localhost:19000",
"shell": 0
}
}
}.__DEV__ === true, development - level warning are ON, performance optimizations are OFF
如果我正在查看 Expo 控制台,它会以 BugReporting extraData:
开头并将上面的内容包装在一个 JS 对象中。我不知道这是 Expo 独有的还是 React Native 消息,但无论哪种方式:
有什么办法可以去掉这条消息吗?它太大了,以至于查找实际错误变得更加费力。
我不熟悉 Expo,但我最近在一个 vanilla RN 项目中遇到了这条日志消息。我可以通过将以下内容添加到我的索引文件来删除它:
console.ignoredYellowBox = ['react-native BugReporting extraData:'];
我通过添加到项目根解决了类似的问题:
const ignoreConsoleMessages = [
'Running "main" with'
]
const origLog = console.log
console.log = (...params) => (
typeof params[0] === 'string' &&
ignoreConsoleMessages.reduce((acc, i) => acc + ~params[0].indexOf(i), 0)
? null
: origLog(...params)
)
每次我使用 Expo 打开 React Native 应用程序时,我都会在控制台中收到大量消息,其中包含有关该应用程序的元数据,这实际上并不能帮助我进行调试。特别是因为它每次都是相同的信息,并且每次应用程序重新加载时都会显示(即使是热重新加载或实时重新加载):
Running application "main"
with appParams: {
"rootTag": 171,
"initialProps": {
"exp": {
"manifest": {
"splash": {
"backgroundColor": "#1c2d3c"
},
"packagerOpts": {
"lanType": "ip",
"urlRandomness": "e4-nfi",
"hostType": "tunnel",
"dev": true,
"minify": false
},
"debuggerHost": "localhost:19001",
"bundleUrl": "http://localhost:19001/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&minify=false&hot=false&assetPlugin=pathToProjectFiles",
"facebookAppId": "FBAppIdGoesHere",
"android": {
"splash": {
"xxhdpi": "./src/assets/img/splash-android.png",
"backgroundColor": "#1c2d3c",
"xxxhdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"xhdpi": "./src/assets/img/splash-android.png",
"hdpi": "./src/assets/img/splash-android.png",
"xxxhdpi": "./src/assets/img/splash-android.png",
"resizeMode": "cover",
"ldpi": "./src/assets/img/splash-android.png",
"xxhdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"ldpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"xhdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"hdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png",
"mdpi": "./src/assets/img/splash-android.png",
"mdpiUrl": "http://localhost:19001/assets/./src/assets/img/splash-android.png"
},
"config": {
"googleSignIn": {
"apiKey": "APIKeyGoesHere",
"certificateHash": "HashGoesHere"
}
},
"iconUrl": "http://localhost:19001/assets/./src/assets/img/icon-android.png",
"package": "com.organizationName.apps",
"permissions": ["CAMERA", "INTERNET", "LOCATION", "READ_EXTERNAL_STORAGE", "READ_INTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE", "com.anddoes.launcher.permission.UPDATE_COUNT", "com.android.launcher.permission.INSTALL_SHORTCUT", "com.google.android.c2dm.permission.RECEIVE", "com.google.android.gms.permission.ACTIVITY_RECOGNITION", "com.google.android.providers.gsf.permission.READ_GSERVICES", "com.htc.launcher.permission.READ_SETTINGS", "com.htc.launcher.permission.UPDATE_SHORTCUT", "com.majeur.launcher.permission.UPDATE_BADGE", "com.sec.android.provider.badge.permission.READ", "com.sec.android.provider.badge.permission.WRITE", "com.sonyericsson.home.permission.BROADCAST_BADGE"],
"icon": "./src/assets/img/icon-android.png",
"versionCode": 10
},
"slug": "app-name-goes-here",
"facebookDisplayName": "NameOfApp",
"icon": "./src/assets/img/icon-android.png",
"primaryColor": "#cccccc",
"isVerified": true,
"version": "1.1.5",
"xde": true,
"name": "NameOfApp",
"facebookScheme": "SomeFBSchemeCodeGoesHere",
"iconUrl": "http://localhost:19001/assets/./src/assets/img/icon-android.png",
"id": "@jhwheeler/name-of-app",
"hostUri": "localhost:19000",
"orientation": "portrait",
"sdkVersion": "27.0.0",
"env": {},
"hooks": {
"postPublish": [{
"config": {
"organization": "organizationNameHere",
"project": "projectNameHere",
"authToken": "authTokenGoesHere"
},
"file": "sentry-expo/upload-sourcemaps"
}]
},
"loadedFromCache": false,
"ios": {
"splash": {
"resizeMode": "cover",
"imageUrl": "http://localhost:19001/assets/./src/assets/img/splash-ios.png",
"backgroundColor": "#1c2d3c",
"image": "./src/assets/img/splash-ios.png"
},
"supportsTablet": false,
"iconUrl": "http://localhost:19001/assets/./src/assets/img/icon-ios.png",
"infoPlist": {
"NSLocationAlwaysUsageDescription": "Nice message goes here",
"NSLocationWhenInUseUsageDescription": "Nice message goes here"
},
"bundleIdentifier": "com.orgName.apps",
"buildNumber": "1",
"icon": "./src/assets/img/icon-ios.png"
},
"logUrl": "http://localhost:19000/logs",
"privacy": "unlisted",
"mainModuleName": "node_modules/expo/AppEntry",
"developer": {
"projectRoot": "/path/to/project",
"tool": "xde"
},
"description": "descriptionOfApp"
},
"appOwnership": "expo",
"initialUri": "exp://localhost:19000",
"shell": 0
}
}
}.__DEV__ === true, development - level warning are ON, performance optimizations are OFF
如果我正在查看 Expo 控制台,它会以 BugReporting extraData:
开头并将上面的内容包装在一个 JS 对象中。我不知道这是 Expo 独有的还是 React Native 消息,但无论哪种方式:
有什么办法可以去掉这条消息吗?它太大了,以至于查找实际错误变得更加费力。
我不熟悉 Expo,但我最近在一个 vanilla RN 项目中遇到了这条日志消息。我可以通过将以下内容添加到我的索引文件来删除它:
console.ignoredYellowBox = ['react-native BugReporting extraData:'];
我通过添加到项目根解决了类似的问题:
const ignoreConsoleMessages = [
'Running "main" with'
]
const origLog = console.log
console.log = (...params) => (
typeof params[0] === 'string' &&
ignoreConsoleMessages.reduce((acc, i) => acc + ~params[0].indexOf(i), 0)
? null
: origLog(...params)
)