我正在尝试在Angular 7应用程序中运行these javascript文件。通过执行以下基础操作,我已经在Angular 6应用程序中成功运行了它:
将.js文件复制到应用程序,将Web worker文件(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(未找到)
我不一定确定版本差异是否可能是问题所在
事实证明,StlViewer类上有一个名为load_three_files
的附加属性,它将所有javascript文件的路径作为参数。
将parser.min
和load_stl.min
移动到资产/脚本文件夹,并将load_three_files: "assets/scripts/"
添加到StlViewer对其进行了修复。