外部 JS 文件在 Angular 7 中有效但在 8 中无效
External JS Files Working in Angular 7 But Not in 8
我正在尝试 运行 these viewstl javascript Angular 8 应用程序中的文件。我已经 运行 通过执行以下基础操作在 Angular 6 和 7 应用程序中成功实现了它:
将 .js 文件复制到应用程序,将 web worker 文件(load_stl.min.js
和 parser.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 中工作正常,但是当 运行ning 从 Angular 8 开始时,我在 javascript 从组件 - 我不明白为什么。
GET http://localhost:4300/load_stl.min.js 404 (Not Found)
我不确定版本差异是否是问题所在
事实证明,StlViewer class 上有一个额外的 属性,名为 load_three_files
,它将所有 javascript 文件的路径作为参数。
将 parser.min
和 load_stl.min
移动到 assets/script 文件夹并将 load_three_files: "assets/scripts/"
添加到 StlViewer 修复了它。
我正在尝试 运行 these viewstl javascript Angular 8 应用程序中的文件。我已经 运行 通过执行以下基础操作在 Angular 6 和 7 应用程序中成功实现了它:
将 .js 文件复制到应用程序,将 web worker 文件(
load_stl.min.js
和parser.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 中工作正常,但是当 运行ning 从 Angular 8 开始时,我在 javascript 从组件 - 我不明白为什么。
GET http://localhost:4300/load_stl.min.js 404 (Not Found)
我不确定版本差异是否是问题所在
事实证明,StlViewer class 上有一个额外的 属性,名为 load_three_files
,它将所有 javascript 文件的路径作为参数。
将 parser.min
和 load_stl.min
移动到 assets/script 文件夹并将 load_three_files: "assets/scripts/"
添加到 StlViewer 修复了它。