You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让WordPress本地化对象在TypeScript中可访问?

解决WordPress本地化对象在TypeScript中无法访问的问题

问题根源

wp_localize_script将变量挂载到全局window对象,但TypeScript默认不识别该自定义全局变量,导致编译时抛出TS2304: Cannot find name 'cookieObject'错误,尽管运行时功能正常。

解决方案

1. 声明全局变量类型

通过类型声明告知TypeScript全局变量的结构:

方案一:当前文件内声明

在使用cookieObject的TS文件顶部添加:

declare const cookieObject: { page_id: number } | undefined;
方案二:全局类型文件(推荐)

新建global.d.ts文件,扩展Window接口:

declare global {
  interface Window {
    cookieObject?: {
      page_id: number;
    };
  }
}

export {};

在tsconfig.json的include中加入该文件,确保TS编译器识别:

{
  "include": [
    "src/**/*",
    "global.d.ts"
  ]
}

2. 调整调用代码

直接通过window访问全局变量,逻辑更清晰:

if (window.cookieObject) {
  console.log(window.cookieObject.page_id);
}

修改后,TypeScript可正确识别变量类型,编译报错消除,同时保留原有运行功能。

内容的提问来源于stack exchange,提问作者billybadass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 16:01:01