【发布时间】:2018-04-03 04:12:02
【问题描述】:
我正在使用 Angular 构建一个 Web 应用程序,该应用程序需要从一个用纯 Javascript 编写的现有项目中调用函数。原始的 Javascript 代码将更多地用作一个库,因为它包含的天文数据太大而无法全部重写。我在 src 文件的应用程序根目录中设置了我的项目。我希望使用原始 javascript 中的函数调用和定义变量,但我不知道从哪里开始。
【问题讨论】:
-
这里没什么大不了的 [呵呵呵呵],只需将您的原始 JS 包含在标准脚本标签中,然后在结束正文标签之前,并从您的 Angular 应用程序中的任何位置调用您的函数。在对您的原始代码进行简要回顾之后,您应该可以轻松访问全局命名空间。最佳实践是在服务内部访问这些外部功能。然后通过这些服务访问计算值。如果您遇到性能问题,您完全可以使用 WebWorkers。
-
该死的 Randy Casburn 感谢您的快速响应。我会尝试在今晚和明天晚上使用其中的一些,如果遇到任何问题,我会回复你。
-
@RandyCasburn 我今天又试了一次,我对我的服务应该是什么样子感到困惑。您如何访问服务中的特定脚本,然后您应该在哪里回调函数?这是一个令人讨厌的角度讨厌脚本标签,否则我只会制作一个组件,在其 component.html 文件中保存 ephemeris JS 的工作方面。不管怎样,感谢兰迪的帮助,恐怕在成功解决这个问题之前,我可能需要回到绘图板上研究 angular
-
其实很简单。由于您使用的是 AngularCLI,您所要做的就是将脚本文件路径/名称引用放在 angular-cli.json 文件的
scripts数组中。构建您的应用程序时,这些脚本文件(以及样式数组中的 css 文件)会自动为您放入脚本标签中。 -
感谢@RandyCasburn,我最终通过 npm 安装包 here 并在我的指令中针对它使用的特定组件运行
var ephemeris = require('ephemeris-moshier');使其工作。
标签: javascript angular function variables