【问题标题】:Webpack: Ignore React Native Module and Load Web ModuleWebpack:忽略 React Native 模块并加载 Web 模块
【发布时间】:2020-09-22 13:28:31
【问题描述】:

我需要弄清楚如何为特定的 webpack 配置命名不同的包。我要解决的问题是 VictoryJS 库。 (https://formidable.com/open-source/victory/)。我在 React Native 项目中使用 React Native Web,所以当我在设备/模拟器上启动项目时,它工作正常,因为它可以引用适当的包“victory-native”,但是在 web 视图中打开时,它不能使用'victory-native' 它需要使用 'victory' 否则项目将崩溃。

我相信我需要做的是创建新的 webpack 配置,要么为 web 的 web 版本起别名,要么包含两个版本但不包括本机版本。我将如何在 webpack 配置中执行此操作?

【问题讨论】:

    标签: javascript reactjs react-native webpack


    【解决方案1】:

    Kevin 问得好,您可以通过使用react-app-rewired 并将config-overrides.js 添加到项目的根目录来实现。

    这是文件内容:

    /* eslint-disable import/no-extraneous-dependencies */
    // God bless this absolute gent
    // https://github.com/webpack/webpack/issues/4039#issuecomment-686158264
    
    // used by react-app-rewired
    
    module.exports = {
        webpack(config, env) {
            config.resolve.alias['victory-native'] = 'victory';
    
            return config;
        },
    };
    

    此 URL https://github.com/webpack/webpack/issues/4039#issuecomment-686158264 指向一个非常有用的评论,其中包含 config-overrides.js 的样板文件 react-native-web

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-04
      • 2016-02-26
      • 1970-01-01
      • 2016-10-27
      • 2018-04-04
      • 2021-01-13
      • 1970-01-01
      • 2019-10-28
      相关资源
      最近更新 更多