Ошибка при использовании библиотеки Vue 3D-модели в производстве - PullRequest
0 голосов
/ 15 октября 2019

Я создаю веб-приложение, которое может просматривать трехмерный объект. Приложение размещено с помощью netlify с использованием шаблона на основе vue. Для предварительного просмотра в 3D я использую библиотеку "vue-3d-model" из npm. Мой код для загрузки 3d-объекта выглядит следующим образом.

<template>
  <div id="categories-page" class="page-wrapper categories-page">
    <model-obj
      height="1000"
      width="1000"
      src="https://cors-anywhere.herokuapp.com/https://firebasestorage.googleapis.com/v0/b/firstbot-a1ca0.appspot.com/o/eyeball.obj?alt=media&token=d2c1a893-c80c-43d1-85b4-b9c5e8a788f7"
      @on-load="onLoad"
    ></model-obj>
    <div id="container"></div>
  </div>
</template>
<script>
import { ModelObj } from 'vue-3d-model'
export default {
  components: { ModelObj },
  head() {
    return {
      title: `Categories | ${this.$siteConfig.siteName}`
    }
  },
  methods: {
    onLoad() {
      this.loading = false
    }
  }
}
</script>

В локальной среде разработчика он загружает объект правильно. Но когда он развернут в netlify, он не загружает 3d модель и показывает следующую ошибку. Развернутый веб-сайт можно найти здесь https://cadhub.netlify.com/categories/. Далее, если я перейду на другую вкладку (вкладка «Контакты») и вернусь на вкладку «категории», тогда она правильно загрузит модель.

 THREE.WebGLRenderer: t.getContext is not a function
TypeError: t.getContext is not a function
    at new Oa (8f03a4309cb09afb4d5e.js:2)
    at a.mounted (8f03a4309cb09afb4d5e.js:2)
    at zt (7fe5404b180a1f8f35ba.js:2)
    at en (7fe5404b180a1f8f35ba.js:2)
    at Object.insert (7fe5404b180a1f8f35ba.js:2)
    at $ (7fe5404b180a1f8f35ba.js:2)
    at Sn.__patch__ (7fe5404b180a1f8f35ba.js:2)
    at Sn.t._update (7fe5404b180a1f8f35ba.js:2)
    at Sn.r (7fe5404b180a1f8f35ba.js:2)
    at hn.get (7fe5404b180a1f8f35ba.js:2)

Так высоко ценю вашу помощь по этому вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...