Adding script tag to Gatsby using helmet throws syntax errors(使用头盔向Gatsby添加脚本标记引发语法错误)
本文介绍了使用头盔向Gatsby添加脚本标记引发语法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将Watson Chatbot添加到我的网站,所需的脚本标记如下:
<script>
window.watsonAssistantChatOptions = {
integrationID: "", // The ID of this integration.
region: "eu-gb", // The region your integration is hosted in.
serviceInstanceID: "", // The ID of your service instance.
onLoad: function(instance) { instance.render(); }
};
setTimeout(function(){
const t=document.createElement('script');
t.src="https://web-chat.global.assistant.watson.appdomain.cloud/loadWatsonAssistantChat.js";
document.head.appendChild(t);
});
</script>
以下是我的代码:
import React from "react"
import PropTypes from "prop-types"
import Helmet from "react-helmet"
function Watson() {
return (
<Helmet>
<script>
window.watsonAssistantChatOptions = {
integrationID: "e9106019-f76a-46ea-bd38-1f9a364d8d6e", // The ID of this integration.
region: "eu-gb", // The region your integration is hosted in.
serviceInstanceID: "c688c7e0-4a4f-45ab-9131-6ae96ec602a3", // The ID of your service instance.
onLoad: function(instance) { instance.render(); }
};
setTimeout(function(){
const t=document.createElement('script');
t.src="https://web-chat.global.assistant.watson.appdomain.cloud/loadWatsonAssistantChat.js";
document.head.appendChild(t);
});
</script>
</Helmet>
)
}
export default Watson
我收到编译错误。我甚至尝试过用{}将代码包装在脚本中,但仍然没有成功:
<Helmet>
<script>
{
window.watsonAssistantChatOptions = {
integrationID: "e9106019-f76a-46ea-bd38-1f9a364d8d6e", // The ID of this integration.
region: "eu-gb", // The region your integration is hosted in.
serviceInstanceID: "c688c7e0-4a4f-45ab-9131-6ae96ec602a3", // The ID of your service instance.
onLoad: function(instance) { instance.render(); }
};
setTimeout(function(){
const t=document.createElement('script');
t.src="https://web-chat.global.assistant.watson.appdomain.cloud/loadWatsonAssistantChat.js";
document.head.appendChild(t);
});
}
</script>
</Helmet>
对我错过的内容有什么想法吗?
推荐答案
组件用花括号({}
)括起来时,需要在组件内部使用反号(`
):
<Helmet>
<script type='text/javascript'>
{` window.watsonAssistantChatOptions = {
integrationID: "e9106019-f76a-46ea-bd38-1f9a364d8d6e", // The ID of this integration.
region: "eu-gb", // The region your integration is hosted in.
serviceInstanceID: "c688c7e0-4a4f-45ab-9131-6ae96ec602a3", // The ID of your service instance.
onLoad: function(instance) { instance.render(); }
};
setTimeout(function(){
const t=document.createElement('script');
t.src="https://web-chat.global.assistant.watson.appdomain.cloud/loadWatsonAssistantChat.js";
document.head.appendChild(t);
});
`}
</script>
</Helmet>
使用上面的代码片段,您的代码将被粘贴为原始字符串,但由于位于<script>
标记中,它将被解释并作为公共脚本粘贴到<head>
中。
对我的代码段使用gatsby build
:
这篇关于使用头盔向Gatsby添加脚本标记引发语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:使用头盔向Gatsby添加脚本标记引发语法错误


猜你喜欢
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 400或500级别的HTTP响应 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01