Использование apollo-client в приложении nativescript — процесс не определен

#typescript #nativescript #apollo-client

#typescript #nativescript #apollo-client

Вопрос:

Я использую клиент apollo-client grapqhl для запросов grapqhl в моем проекте nativescript. После последнего обновления клиент apollo не определен после инициализации.

После отладки приложения я обнаружил неохраняемый доступ к process.env.NODE_ENV, но процесс не определен в приложении nativescript. Есть идеи по решению?

Ответ №1:

Теперь я сообщил об этом как об ошибке, и они это исправят.

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

Есть несколько обходных путей.

  1. Используйте полизаполнение процесса, например, process
  2. Установите node env через webpack (если вы используете webpack), как упоминал @Manoj

     plugins: [
        // Define useful constants like TNS_WEBPACK
        new webpack.DefinePlugin({
            "global.TNS_WEBPACK": "true",
            'process.env': {
              'NODE_ENV': JSON.stringify('production')
            }
        }),
      ]
      
  3. Установите переменную process.env самостоятельно (может не сработать при использовании typescript)

Перед созданием grapqhl — клиента я установил переменную process.env следующим образом.

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

В Typescript уже был режим ввода для процесса узла, мне просто нужно было установить его и добавить переменную env.

Комментарии:

1. Вы также можете задать значение этой переменной в разделе DefinePlugin в вас webpack.config.js .