首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在类型记录配置中包括缺失的类型定义文件?

如何在类型记录配置中包括缺失的类型定义文件?
EN

Stack Overflow用户
提问于 2019-01-19 00:56:08
回答 1查看 5.8K关注 0票数 1

这是与How to allow modules that have missing .d.ts type definition?相同的问题

VS代码在添加了这些文件后停止了抱怨,但是尝试使用gulp编译时很遗憾地在控制台中抛出了一个错误。

(事实上,今天我注意到VS代码不再显示大部分错误)

./src/dts/中,我有:

dyo.d.ts

代码语言:javascript
复制
declare module 'dyo';

tsconfig.json

代码语言:javascript
复制
{
  "compilerOptions": {
    "lib": ["dom", "es2016", "es2017.object"],
    "rootDir": "src",
    "target": "es5",
    "outDir": "build",
    "moduleResolution": "node",
    //"noImplicitAny": false,
    "removeComments": true,
    "typeRoots": [
      "src/dts",
      "node_modules/@types"
    ]
  },
  "exclude": [
    "node_modules"
  ],
  "files": [
    "./src/dts/dyo.d.ts",
    "./src/dts/randomseed.d.ts"
  ]
}

错误:

错误TS7016:找不到模块'dyo‘的声明文件。'/mediatest/node_modules/dyo/dist/dyo.umd.js‘隐式地具有“任意”类型。如果npm install @types/dyo存在,可以尝试它,或者添加一个包含declare module 'dyo';的新声明(.d.ts)文件

我包括这样的模块:

import { h, render } from 'dyo'

import * as _rng from 'random-seed'

第二个模块也不起作用。

前面的回答建议包括files属性,以及另一个据说包含typeRoots属性的问题,但这两种设置似乎都不起作用。

很抱歉把我的打字记录问题说成是垃圾。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-19 01:26:23

我建议从typeRoots切换到typeRoots,使用include模式而不是files

代码语言:javascript
复制
{
  "compilerOptions": {
    "lib": ["dom", "es2016", "es2017.object"],
    "rootDir": "src",
    "target": "es5",
    "outDir": "build",
    "moduleResolution": "node",
    "removeComments": true,
    "types": [
      "node"
    ]
  },
  "include": [
    "**/*.ts"
  ]
}

我还包括了node类型,因为您使用的是node模块解析,如果您还没有安装@types/node,一定要安装@types/node

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

https://stackoverflow.com/questions/54263204

复制
相关文章

相似问题

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