首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Typescript中声明一个全局的,globalThis?

如何在Typescript中声明一个全局的,globalThis?
EN

Stack Overflow用户
提问于 2020-04-03 03:08:30
回答 1查看 2.5K关注 0票数 0

我一直在谷歌上寻找一些关于如何在Typescript中声明全局变量的更新答案。但我不确定哪个教程/指南有最新的解决方案。

无论如何,我正在尝试让我的自定义全局声明d.ts工作。现在,我已经完成了设置,以便使用webpack/ts-loader构建并捆绑我的Typescript项目。

我的tsconfig.json文件如下所示。我读过的指南说,我真的不需要设置typeRoots,因为Typescript可以自己找到类型。无论如何,我尝试了使用和不使用,结果都是一样的。

代码语言:javascript
复制
{
    "files": [
        "app.ts",
    ],
    "compilerOptions": {
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "module": "commonjs",
        "moduleResolution": "node",
        "noImplicitAny": false,
        "target": "es5",
        "declaration": false,
        "sourceMap": true,
        "skipLibCheck": true,
        "lib": ["es6", "dom"],
        "esModuleInterop": true,
        "typeRoots": [
            "./typings/",
            "../../../../../node_modules/@types/"
        ]
    }
}

我命名为soho.d.tsd.ts文件包含以下内容

代码语言:javascript
复制
declare global {
    namespace Soho {

    }
    interface Window {
        Soho: Soho;
    }

    interface Soho {
        Locale: any;
    }
}

虽然我在webpack中得到了以下错误

代码语言:javascript
复制
TS2304: Cannot find name 'Soho'

在代码中,我尝试使用全局变量,如下所示

代码语言:javascript
复制
Soho.Locale

是我的tsconfig.json文件设置正确,还是我的d.ts文件有问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-03 21:23:31

我的tsconfig.json文件中有一个错误。错误出现在指定的files属性中,该属性告诉Typescript在编译期间只使用该文件。

因此,我的自定义d.ts文件被省略了,因此出现了错误。

对于解决方案也是如此。删除files属性,或者使用include属性包含具有自定义d.ts的文件夹。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60999228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档