【问题标题】:External JS Files Working in Angular 7 But Not in 8外部 JS 文件在 Angular 7 中工作,但在 8 中不工作
【发布时间】:2019-10-14 06:35:29
【问题描述】:

我正在尝试在 Angular 8 应用程序中运行 these viewstl javascript 文件。通过执行以下基本操作,我已在 Angular 6 和 7 应用程序中成功运行它:

  • 将 .js 文件复制到应用程序,将 web worker 文件(load_stl.min.jsparser.min.js)保存在根目录中,其余文件保存在 assets/scripts 中。

  • 按此工作顺序将 .js 文件添加到我的 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 8 运行时,一旦从组件初始化 javascript,我就会收到错误 - 我不明白为什么。

GET http://localhost:4300/load_stl.min.js 404(未找到)

我不一定确定版本差异是否是问题

【问题讨论】:

    标签: javascript angular angular7 stl-fileformat


    【解决方案1】:

    事实证明,StlViewer 类上有一个名为load_three_files 的额外属性,它将所有 javascript 文件的路径作为参数。

    parser.minload_stl.min 移动到assets/script 文件夹并将load_three_files: "assets/scripts/" 添加到StlViewer 修复了它。

    【讨论】:

      猜你喜欢
      • 2013-11-14
      • 2014-08-01
      • 2020-04-05
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多