在 Angular 7 中找不到名称'require'(打字稿 3.1.3)



我的问题是为什么会出现这个错误?

src/app/pp/p2p组件.ts(14,16(中的错误:错误TS2580:无法查找名称"require"。是否需要为节点安装类型定义?尝试npm i @types/node

我已经安装了

@types/node
in app/tsconfig.app.json have add 
"types": [
"node" 
],
"typeRoots": [ 
"../node_modules/@types"
]  

但出现错误找不到"需要">

在将其添加到我的tsconfig.json后,问题仍然存在,但在tsconfig.app.json中添加以下行为我解决了问题:

{
"compilerOptions": {
"types": ["node"]
}

因此,请确保将其添加到这两个文件中/tsconfig.json/src/tsconfig.app.json,它应该可以工作。

将以下设置添加到src/tsconfig.app.json

{
"compilerOptions": {
"types": ["node"]
}
}

Type节点缺少

install@types/node:

npm install --save @types/node

yarn add @types/node

编辑您的src/tsconfig.json添加:

{
"compilerOptions": {
"types": ["node"]
}
}

和其他人一样,我也在tsconfig中的"types"数组中添加了节点,出于某种原因,这并没有什么不同。我非常清楚这是一个黑客攻击,以下是我解决它的方法:

将此行添加到"require"语句上方的任意位置:declare const require: any;

这不是一个真正的解决方案,但我现在没有时间与这种类型的管道问题作斗争。我稍后会回来处理(也许不会,但也没关系(

也检查tsconfig.json。你也需要在那里添加相同的设置。

这一切都是因为typeScript不知道require关键字所以请添加一行,使打字脚本了解require关键字

一旦它被编译成javascript,它就会更好地了解require这个词,并使工作完成

declare var require: any;
const pokemon = require('src/assets/pokedex.json');

最新更新