gpt4 book ai didi

react-native - 如何在 react-native 的打包程序中将我的包依赖项的特定 node_modules 列入黑名单?

转载 作者:行者123 更新时间:2023-12-03 12:51:21 27 4
gpt4 key购买 nike

我是 putting together a streamlined development process用 react 和 react-native 表示:

  • 鼓励包,
  • 使用 babel 转换 es6js (它在发布/安装之前编译),
  • 有一个游乐场,可以让你玩native和网络 components .

  • 它的网络部分非常好。这是引起问题的原生问题,它与 react-native 的打包程序有关。

    底线是:如果包是通过 npm link 链接的或直接从操场要求,如 require('../../') react-native 的依赖解析器将永远尝试识别我的包中的依赖关系 node_modules ,大多数时候它永远不会完成它。

    我发现的临时解决方案是在 Playground 中安装该软件包,但这涉及到每次我进行更新时都重新安装它,这不是很好,因为您无法立即看到您的更改(即使它会自动,这需要时间)。

    我相信更好的解决方案是让依赖解析器忽略那些我不需要的特定模块(主要是 devDependencies 中的那些!)。我试过修改 react-native/packager/blacklist.js通过向该列表添加路径,甚至对 dependency resolver 进行检查但这些都行不通。

    对打包程序有更多经验的人可以给我一个提示,告诉我如何让依赖解析器通过吗?或者,如果可以分离打包程序并将转换过程留给选择,那就太好了,但我也不知道这是否可行。

    最佳答案

    根据 default.config.js 中的评论,我找到了以下解决方案:

    * If you need to override any of this functions do so by defining the file
    * `rn-cli.config.js` on the root of your project with the functions you need
    * to tweak.

    创建 rn-cli.config.js在项目的根目录中包含以下内容:

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

    var config = {
    getBlacklistRE(platform) {
    return blacklist([
    /node_modules\/my-package\/excluded-dir\/.*/
    ]);
    }
    };

    module.exports = config;
    blacklist 的第二个参数function 是列入黑名单的路径的附加列表,可以是正则表达式。见 react-native/packager/blacklist.js更多示例。

    关于react-native - 如何在 react-native 的打包程序中将我的包依赖项的特定 node_modules 列入黑名单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30049111/

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