如何为第三方软件包设置模块名称别名

时间:2019-04-11 03:56:31

标签: react-native

我有一个由 react-native init 命令创建的应用。 我的应用程序导入了websocket程序包,该程序包反过来需要http程序包并导致错误,提示``无法解析模块http''。

即:myApp->第3个模块-> ws-> http

我尝试通过安装“ @ tradle / react-native-http”来解决,并将以下行添加到我的应用程序的json文件包中:

"browser": { "http": "@tradle/react-native-http" }, 
"react-native": { "http": "@tradle/react-native-http" },

但它不起作用。

我也尝试使用babel-plugin-module-resolver,但运气不佳。这是我的.babelrc:

{
  "presets": ["module:metro-react-native-babel-preset"],
  "plugins": [
    [
      "@babel/plugin-proposal-decorators",
      {
        "legacy": true
      }
    ],
    ["module-resolver", {
      "alias": {
        "@tradle/react-native-http": "http"
      }
    }]
  ]
}

如何为我的案子起别名?我正在研究通过使用webpack配置来解决此问题,但不知道配置文件在哪里。在Google之后,我认为由 react-native init 创建的项目使用Metro配置而不是webpack。

1 个答案:

答案 0 :(得分:1)

尝试

    ["module-resolver", {
      "alias": {
        "http":"@tradle/react-native-http"
      }
    }]