在角度7中找不到名称“ require”(打字稿3.1.3)

时间:2018-11-02 09:14:44

标签: angular typescript angular7 typescript3.0

我的问题是为什么显示此错误?

  src / app / p2p / p2p.component.ts(14,16)中的

ERROR:错误TS2580:无法   找到名称“ require”。您是否需要为节点安装类型定义?   尝试npm i @types/node

我已经安装

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

但是有错误找不到'require'

6 个答案:

答案 0 :(得分:8)

缺少类型节点

安装@ types / node:

npm install --save @types/node

yarn add @types/node

编辑您添加的src/tsconfig.json

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

答案 1 :(得分:5)

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

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

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

答案 2 :(得分:3)

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

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

}

答案 3 :(得分:1)

我也像其他人一样,在tsconfig的'types'数组中添加了节点,由于某种原因,它没有任何区别。完全了解这是一种黑客攻击,这就是我的解决方法:

在“ require”语句上方的任意位置添加以下行: declare const require: any;

这不是真正的解决方法,但是我现在没有时间与这种类型的管道问题作斗争。我待会儿再处理(或者可能不会,但是也可以)

答案 4 :(得分:0)

也检查tsconfig.json。您也需要在其中添加相同的设置。

答案 5 :(得分:0)

这都是因为typeScript不知道require关键字,所以 确实添加了使打字稿知道require关键字的行

一旦将其编译为javascript,它就会更好地了解需求词并完成工作

declare var require: any;

const pokemon = require('src/assets/pokedex.json');
相关问题