这是与How to allow modules that have missing .d.ts type definition?相同的问题
VS代码在添加了这些文件后停止了抱怨,但是尝试使用gulp编译时很遗憾地在控制台中抛出了一个错误。
(事实上,今天我注意到VS代码不再显示大部分错误)
在./src/dts/中,我有:
dyo.d.ts
declare module 'dyo';tsconfig.json
{
"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属性的问题,但这两种设置似乎都不起作用。
很抱歉把我的打字记录问题说成是垃圾。
发布于 2019-01-19 01:26:23
我建议从typeRoots切换到typeRoots,使用include模式而不是files。
{
"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。
https://stackoverflow.com/questions/54263204
复制相似问题