Ошибка «TypeError: Невозможно прочитать свойство indexOf из undefined» при использовании ipfs-api - PullRequest
0 голосов
/ 16 мая 2018

Я выполнял разработку с использованием ipfs - api, я столкнулся со следующей ошибкой, добавление файла изображения в узел ipfs не работает.Глядя на детали ошибки, кажется, что протокол рассматривается как неопределенный среди if (protocol.indexOf ('https') === 0) {in request.js.

Это описание ошибки

Uncaught (in promise) TypeError: Cannot read property 'indexOf' of undefined
    at webpackJsonp../node_modules/ipfs-api/src/utils/request.js.module.exports (request.js:7)
    at requestAPI (send-request.js:165)
    at send (send-request.js:196)
    at send-files-stream.js:99
    at Function.promisify (add.js:41)
    at index.js:32
    at Object.add (add.js:60)
    at VueComponent._callee$ (HaikuCompose.vue?0664:118)
    at tryCatch (runtime.js:62)
    at Generator.invoke [as _invoke] (runtime.js:296)

Это код, который я написал

import IPFS from "ipfs-api"
const ipfsConf = { host: process.env.IPFSHOST, port: process.env.IPFSPORT, protocol: process.env.IPFSPROTCOL }
const ipfs = new IPFS(ipfsConf)

export default {
  name: 'ipfstest',
  data() {
    return {
      file:null,
      buffer:null,
      ipfsHash:null,
    }
  },
  methods: {
    async addipfs() {
      await ipfs.add(this.buffer, (err, ipfsHash) => {
        console.log(err,ipfsHash);
        this.ipfsHash = ipfsHash[0].hash;
      }) 
    },

1 Ответ

0 голосов
/ 17 мая 2018

Из исходных кодов модуля indexOf в строке 7 файла request.js используется для переменной, хранящей протокол, которая в вашем случае равна undefined.

А из вашего кода, я думаю, можно смело предположить, что ваша переменная окружения process.env.IPFSPROTCOL не определена.

TL: DR: я думаю, что вы хотели написать IPFSPROTOCOL вместо IPFSPROTCOL

...