"require "文がimport文の一部でなければなりません.


Setescriptファイルを使ってeslintを実行すると、この警告に実行できます.
Require statement not part of import statement.eslint[@typescript-eslint/no-var-requires](https://typescript-eslint.io/rules/no-var-requires)

歴史


ES 2015以降のJavaScriptは、言語仕様の一部としてインポートを使用します.typescriptは必要に応じて環境に応じたフォームにコンパイルします.この理由は、require ([])とrequire ("")が環境固有であり、静的に解析することが困難なためです.

重大度


これは大部分は統語的なルールだけです.TypeScriptモジュール構文を気にしないなら、この規則を必要としません.

解決1 :変数を削除する


❌ 不正確な


var foo = require('foo');
const foo = require('foo');
let foo = require('foo');

✅正しい


import foo = require('foo');
require('foo');
import foo from 'foo';

ソリューション2 :インスタンスを無視する


ソリューション2は、単に警告を与えているファイルの一部を無視するようにTSに指示するバンドエイドソリューションです.
require文の直前にこの行を置きます.
/* tslint:disable no-var-requires */

解決3 :ファイルレベルで無視する


varのすべてのインスタンスを無視するとファイルレベルが必要です.
ファイルの先頭に、次の2行の1つを置きます.
/* eslint @typescript-eslint/no-var-requires: "off" */
OR
/* eslint-disable @typescript-eslint/no-var-requires */

ソリューション4 :プロジェクトレベルで無視


変数のすべてのインスタンスを無視する
あなたのeslintrc.jsファイルで、それを無効にするあなた自身の規則を作ります:
module.exports = {
  ...
  rules: {
    ...
    '@typescript-eslint/no-var-requires': 0,
  }
}
ハッピーエッリンティング