gpt4 book ai didi

javascript - React Native - `require()`语句异常处理

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:04:10 25 4
gpt4 key购买 nike

TL;DR: 我希望能够在 react-nativerequire 一个模块并自己处理异常以防模块不存在(而不是显示 RedBox)。


我正在使用 moment.js 的逻辑在给定请求的语言环境时从其预设库 ( https://github.com/moment/moment/tree/develop/locale ) 中选择最合适的语言环境。

例如,如果要求en-us,但没有找到,它将返回到en 等等。此逻辑的代码(chooseLocaleloadLocale)可在此处找到:https://github.com/moment/moment/blob/develop/src/lib/locale/locales.js

基本上,它会尝试要求给定的预设。如果它不存在,它会从 require 语句中获取异常,捕获它并继续下一个选项。

现在,我的问题是尝试将此逻辑与 react-native 一起使用。 require 语句实际上是用 react-nativeguardedLoadModule 实现的,它处理异常(显示红屏)。在我看来,moment 的逻辑不会受到此逻辑的影响,因此我希望 RedBox 不显示。

有什么想法吗?

最佳答案

这现在是可能的(link to discussion):

Optional dependency is released in metro 0.59

只需用 try catch 包围您的代码:

let module;
try {
module = require('module');
} catch {
...
}

关于javascript - React Native - `require()`语句异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39245384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com