не может скомпилировать приложение реакции с помощью forge viewer - не может скомпилировать - Autodesk не определен un-def - PullRequest
0 голосов
/ 14 марта 2019

мы хотим переместить часть нашей базы кода для просмотра в Forge в приложение Reaction и не можем понять, как использовать viewer3d js api, не добавляя все применения Autodesk.Viewer .... в наши компоненты с окном. *Это работает во всех (превосходных и обширных) образцах git, которые мы изучали.Зачем?мы загружаем файл viewer3d.js в index.html между и реагирующей посадкой:

<body>
  <script src="https://developer.api.autodesk.com/derivativeservice/v2/viewers/viewer3D.js?v=6.0" />
  <div id="root" />

ошибка, которую мы получаем (для каждого случая использования пространства имен Autodesk):

Failed to compile

./src/components/Viewer.js
  Line **:  'Autodesk' is not defined  no-undef

это работает:

this.viewer = new window.Autodesk.Viewing.Private.GuiViewer3D(this.viewerContainer)

это не работает:

this.viewer = new Autodesk.Viewing.Private.GuiViewer3D(this.viewerContainer)

Ответы [ 2 ]

3 голосов
/ 14 марта 2019

Как упомянуто в этом руководстве пользователя , вам необходимо явно прочитать любые глобальные переменные из окна. Поместите это в начало файла, и оно будет работать:

const Autodesk = window.Autodesk;

И рекомендуется вставить тег скрипта в раздел заголовка html-записи вашего приложения, чтобы убедиться, что оно загружается до того, как React испустит:

<!DOCTYPE html>
<html lang="en">
  <head>
  ...
  <script src="https://developer.api.autodesk.com/derivativeservice/v2/viewers/viewer3D.js?v=6.0" />
  </head>
...
0 голосов
/ 14 марта 2019

мы решили эту проблему, поместив глобал в первый ряд файлов наших компонентов. на основании это .

/*global Autodesk*/

но, мне нравится этот еще лучше, прямо за импортом. спасибо, Брайан.

const Autodesk = window.Autodesk;
...