【问题标题】:Blacklisting Module in react native takes no effectreact native中的黑名单模块无效
【发布时间】:2016-10-03 04:18:54
【问题描述】:

根据之前提出的问题How to blacklist specific node_modules of my package's dependencies in react-native's packager?

我在我的项目根目录中创建了这样一个文件。名称:rn-cli.config.js

我的文件内容:

var blacklist = require('react-native/packager/blacklist');

var config = {
  getBlacklistRE(platform) {
    return blacklist(platform, [
      /node_modules\/react\/lib\/TouchHistoryMath.js/
    ]);
  }
};

module.exports = config;

我正在尝试直接定位模块,因为它是唯一导致两个模块具有相同名称的错误的模块。

现在,当我尝试重新运行我的项目(从 xCode 开始)时,对于同一个模块,我仍然会遇到相同的重复错误。

除了简单地创建该文件之外,我还需要做其他事情吗?

【问题讨论】:

  • 有点晚了,但以防其他人偶然发现; platform 参数不再使用。从对blacklist fn 的调用中删除它应该可以修复它。
  • 这里有任何更新,我删除了平台,但它仍然不起作用
  • @Arun 已经尝试过了。它不工作。看起来就像我提供的任何正则表达式,它都会被默默地忽略。我正在使用最新版本的 react-native。
  • @sunny 我不记得我有什么解决方案,如果有的话。这是2年前的一个测试项目。希望你能找到一些东西

标签: node.js react-native node-modules


【解决方案1】:

您是否尝试过使用类似的东西:

    const modulePaths = require('./modulePaths');
    const resolve = require('path').resolve;
    const fs = require('fs');

    const config = {
    getTransformOptions: () => {
        const moduleMap = {};
        modulePaths.forEach(path => {
        if (fs.existsSync(path)) {
            moduleMap[resolve(path)] = true;
        }
        });
        return {
        preloadedModules: moduleMap,
        transform: { inlineRequires: { blacklist: moduleMap } },
        };
    },
    };

    module.exports = config;

这是the docs的链接。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 2017-10-11
  • 2016-03-23
相关资源
最近更新 更多