web-dev-qa-db-ja.com

angular 7(TypeScript 3.1.3)で名前 'require'が見つかりません

私の質問は、このエラーが表示される理由ですか?

Src/app/p2p/p2p.component.ts(14,16)のエラー:エラーTS2580:名前 'require'が見つかりません。ノードのタイプ定義をインストールする必要がありますか? npm i @types/nodeを試してください。

私はインストールしています

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

しかし、「require」が見つからないというエラーがあります

13
ikhwan rozali

問題はtsconfig.jsonに追加した後も残りましたが、tsconfig.app.jsonに次の行を追加することで解決しました:

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

したがって、これを両方のファイルに必ず追加してください./ tsconfig.json AND ./ src/tsconfig.app.jsonそれは機能するはずです。

17
Johannes Hinkov

タイプノードがありません

@ types/nodeをインストールします。

npm install --save @types/node

または

yarn add @types/node

src/tsconfig.jsonを編集して追加:

{
    "compilerOptions": {
        "types": ["node"]
    }
}
8
Dinesh Ghule

次の設定をsrc/tsconfig.app.jsonに追加します

{
  "compilerOptions": {
    "types": ["node"]
  }
}
7
Vardaan Tyagi

他の人々と同様に、私もtsconfigの 'types'配列にノードを追加しましたが、何らかの理由で違いはありませんでした。これがハッキングであることを十分に知っているので、ここでそれを解決しました:

「require」ステートメントの上に次の行を追加します:declare const require: any;

これは本当の修正ではありませんが、この種の配管の問題と今戦う時間はありません。後で戻って対処します(またはおそらくそうではありませんが、それでも大丈夫です)

1
TimTheEnchanter

TypeScriptはrequireキーワードを認識しないため、TypeScriptにrequireキーワードを認識させる行を追加してください。

javascriptにコンパイルされると、Wordが必要であることがわかり、作業が完了します。

declare var require: any;

const pokemon = require('src/assets/pokedex.json');
0

tsconfig.jsonも確認してください。そこにも同じ設定を追加する必要があります。

0
user10868303