简而言之,我正在尝试调用我的第 3 方要求我包含的外部 JS 函数,以便使用他们的 API,但不能按预期工作。
从我读过的内容来看,我应该使用,例如,window.extFn()
在包含外部 JS 之后,index.html
其中包含extFn()
类似的内容
<script src="https://example.com/external.js"></script>
<-- 实际上不是这样,当我在本地导入库时,请参阅更新 2
...并且应该像这里的回答一样使用它:从react组件调用外部 Javascript 函数,无论所述函数是在文件中还是在index.html
<script>
部分中简单定义。这适用于我为测试而创建的 JS 文件。
//File: test.js
function test() {
return "Hello";
}
...像往常一样导入带有script
标签的 JS 文件,并console.log(window.test())
在我的 React 组件的render()
返回中使用Hello
。
我尝试将导入从正文移动到 HTML 头,反之亦然,但我仍然遇到的错误是:
TypeError: window.extFn is not a function
QuickCheckout.render
....
22 | }
23 |
24 | render() {
> 25 | window.extFn({
26 |
View compiled
▶ 20 stack frames were collapsed.
当我查看浏览器控制台时,出于某种原因,我有(这似乎是关键问题)
Uncaught SyntaxError: Unexpected token < external.js:1
试过了console.log(window.extFn)
,它回来了undefined
所以我认为上述JS可能是问题本身,但我对此束手无策。同时我已经给我的第 3 方支持团队发了电子邮件,有人对此有什么建议吗?非常感谢。
更新:现在我test.js
上面的文件在我的实验中工作,Unexpected token <
在我的控制台中也产生了错误......
更新2:我为你的问题道歉。但我实际上是从本地源导入了 JS,因为他们必须移植他们的库,因为他们有 jQuery 2 而不是 3。
<script src="assets/js/external.js"></script>
让我愚蠢的是,我忘记了尾随/
。谢谢您的帮助。