外部JS文件可在Angular 6中工作,但不能在Angular 6中工作

时间:2019-05-28 17:12:16

标签: javascript angular angular7

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

  • 将.js文件复制到应用程序,将Web Worker文件(load_stl.min.jsparser.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(未找到)

我不确定是否会引起版本差异

1 个答案:

答案 0 :(得分:0)

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

parser.minload_stl.min移动到资产/脚本文件夹并将load_three_files: "assets/scripts/"添加到StlViewer进行修复。