在Nativescript应用中使用Apollo客户端-进程未定义

时间:2019-04-04 15:43:30

标签: typescript nativescript apollo-client

我在我的nativescript项目中将apollo-client grapqhl客户端用于grapqhl请求。由于最新更新,初始化后未定义apollo客户端。

调试该应用程序后,我发现对process.env.NODE_ENV的访问不受保护,但是在本机脚本应用程序中未定义进程。有解决方案的想法吗?

1 个答案:

答案 0 :(得分:0)

我现在将其报告为错误,他们将修复它。

https://github.com/apollographql/apollo-client/issues/4665

有一些解决方法。

  1. 使用工艺填充料,例如process
  2. 按照@Manoj的说明通过webpack(如果使用的是webpack)设置节点环境

    plugins: [
        // Define useful constants like TNS_WEBPACK
        new webpack.DefinePlugin({
            "global.TNS_WEBPACK": "true",
            'process.env': {
              'NODE_ENV': JSON.stringify('production')
            }
        }),
      ]
    
  3. 自行设置process.env变量(如果使用打字稿可能不起作用)

在创建grapqhl-客户端之前,我像这样设置process.env变量。

process.env = {NODE_ENV: 'production'};

Typescript已经对节点进程进行了键入,我只需要设置它并添加env变量即可。