Внешние файлы JS, работающие в Angular 6, но не в 7

Я пытаюсь запустить эти файлы javascript в приложении Angular 7. Я успешно запустил его в приложении Angular 6, выполнив следующие основы:

  • Скопировал файлы.js в приложение, сохранив файлы веб-работника (load_stl.min.js а также parser.min.js) в корневом каталоге и остальные файлы в assets/scripts,

  • Добавьте файлы.js в мой массив scripts в angular.json в этом рабочем порядке.

    "scripts": 
    [            
          "src/assets/scripts/three.min.js",
          "src/assets/scripts/webgl_detector.js",
          "src/assets/scripts/Projector.js",
          "src/assets/scripts/CanvasRenderer.js",
          "src/assets/scripts/OrbitControls.js",
          "src/assets/scripts/stl_viewer.min.js"          
    ]
    
  • Добавил необходимый код в шаблон:

    html <div id="stl_container"></div>

  • Наконец, ссылка stl_viewer.min.js из компонента:

    declare var StlViewer:any;
    var stl_viewer = new StlViewer(document.getElementById('stl_container'), { models: [ {id:0, filename:"assets/_somefile.stl"} ] });
    

Как я уже упоминал, он отлично работает в Angular 6, но при запуске из Angular 7 я получаю ошибку, как только javascript инициализируется из компонента - и я не понимаю, почему.

ПОЛУЧИТЕ http://localhost:4300/load_stl.min.js 404 (не найден)

Я не обязательно уверен, что разница в версии может быть проблемой

0 ответов

Оказывается, в классе StlViewer есть дополнительное свойство, называемое load_three_files который принимает в качестве аргумента путь ко всем файлам javascript.

Переезд parser.min а также load_stl.min в папку assets/script и добавив load_three_files: "assets/scripts/" в StlViewer исправил.

Другие вопросы по тегам