Sob*_*bik 10 typescript gtag.js
我使用原始的 Javascript 函数
function gtag(){dataLayer.push(arguments);}
Run Code Online (Sandbox Code Playgroud)
然后得到错误:error TS2554: Expected 0 arguments, but got 3.当这样使用时:
gtag('event', 'page_view', { send_to: 'xxxx' })
我用作// @ts-ignore一种解决方法并且它有效:我在 Google 分析中看到了流量。我想在没有变通方法的情况下正确地完成它,并且我尝试像这样替换 gtag 函数:
function gtag(...args: any) {
window.dataLayer.push(args)
}
Run Code Online (Sandbox Code Playgroud)
和其他一些变体,但它不起作用。我看到window.dataLayer项目现在包含array而不是Objector Arguments。
thi*_*ign 18
您可以安装@types/gtag.js. 见https://github.com/DefinitelyTyped/DefinitelyTyped/tree/4d4da2106dcd54af4a0ddeb5e0360f322fd8a5bf/types/gtag.js
wil*_*ire 17
扩展@thisismydesign 的答案。
安装:
yarn add -D @types/gtag.js
Run Code Online (Sandbox Code Playgroud)
它应该在全球范围内自动检测到它。但如果types设置为tsconfig.json,则可能不会。types从配置中删除或添加@types/gtag.js到配置中,如下所示:
"types": ["cypress", "@testing-library/cypress", "@types/gtag.js"],
Run Code Online (Sandbox Code Playgroud)
另请注意,如果添加了此内容,则可能需要删除任何构建目录以阻止诸如 linting 之类的事情挂起。
小智 5
要让我的代码编译它需要比上面多一步..
npm install --save-dev @types/gtag.js
Run Code Online (Sandbox Code Playgroud)
添加到 tsconfig.json 中的类型
"types": [..., "@types/gtag.js", ...]
Run Code Online (Sandbox Code Playgroud)
在文件中声明您要使用的函数
declare let gtag: Function;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4091 次 |
| 最近记录: |