标签: checkjs

需要一个 json 文件导致错误:找不到模块

checkJs启用了 VsCode 的 nodej 项目中,当需要 json 文件时,例如

const myFile = require('./my-file.json')
Run Code Online (Sandbox Code Playgroud)

这会导致错误[ts] Cannot find module

如何消除错误警告?

我试过了:

  1. 添加"resolveJsonModule": truecompilerOptionsin jsconfig.json,但它不起作用。

  2. 创建一个typing.d.ts包含以下内容的文件:

    declare module '*.json' { const value: any; export default value; } 但是现在出现了一个错误 [ts] Type 'typeof import("*.json")' must have a '[Symbol.iterator]()' method that returns an iterator. [2488]

javascript json visual-studio-code checkjs

18
推荐指数
2
解决办法
2万
查看次数

如何在 JS 项目中使用自定义类型

我正在一个 Electron 项目中使用checkjs: trueset in myjsconfig.json并在ProjectRoot/typings/index.d.ts.

我希望在所有 JS 文件中都可以使用这些类型。不幸的是,我必须手动引用它们:

在此处输入图片说明

如果没有手册参考,它将无法识别类型:

在此处输入图片说明

我的项目结构如下所示:

在此处输入图片说明

这是typings/index.d.ts的内容:

interface LauncherItem {
    name: string,
    icon: string,
    cmd: string,
    args: string,
}

interface AppConfig {
    items: LauncherItem[],
    appIconSize: number,
}
Run Code Online (Sandbox Code Playgroud)

jsconfig.json

{
    "compilerOptions": {
        "target": "es6",
        "checkJs": true
    },
    "typeAcquisition": {
        "include": [
            "./typings/index.d.ts"
        ]
    },
    "include": [
        "**/*.js",
        "*.d.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

不确定是否通常需要显式typeAcquisition和包含*.d.ts。它们只是我测试的结果,但显然不起作用......

visual-studio-code typescript-typings checkjs

9
推荐指数
0
解决办法
675
查看次数

JSDoc Typescript 检查命名默认参数

鉴于以下

/**
 * @param {{bar?: string|null}} [param0]
 */
const foo = ({bar = null} = {}) => bar;
Run Code Online (Sandbox Code Playgroud)

Typescript 3.7.2 报告

var bar: string | null Binding element 'bar' implicitly has an 'any' type.ts(7031)

JavaScript 代码按照我想要的方式工作,但是我如何编写 jsdoc 提示,以便 TypeScript 理解解构bar变量string|null不是any

javascript jsdoc typescript checkjs

4
推荐指数
1
解决办法
213
查看次数