IgorPI
@IgorPI

Nodejs native в vue, как https сделать плагином?

Планирую использовать нативные запросы Nodejs во Vue

Стек:
electron-vue
vue

require("follow-redirects").https

var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'GET',
  'hostname': 'example.com',
  'path': 'example.com',
  'headers': {
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

req.end();


Пробовал сделать так

"use strict"

import Vue from "vue"

const _https = require("follow-redirects").https;

Plugin.install = function (Vue) {
    Vue.https = _https
    window.https = _https
    Object.defineProperties(Vue.prototype, {
        https: {
            get () {
                return _https
            }
        },
        $https: {
            get () {
                return _https
            }
        }
    })
}

Vue.use(https)

export default Plugin


Не вижу плагина в главном контексте.
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
IgorPI
@IgorPI Автор вопроса
Проблема в конфликте имени.
Вот это рабочий вариант.
Проще некуда.

const { http, https } = require("follow-redirects")

const HttpsPlugin = {
  install:  function(Vue, options) {
    Vue.https = https
    window.https = https
    Object.defineProperties(Vue.prototype, {
      https: {
        get() {
          return https
        }
      },
      $https: {
        get() {
          return https
        }
      },
    })
  }
}

Vue.use(HttpsPlugin)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы