programingBeginner
@programingBeginner

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Vue TypeScript : Require statement not part of import statement というエラーが出る。

解決したいこと

vue、typescriptを使ってサイトを作っています。
その最中にRequire statement not part of import statement というエラーが出ました。
解決できないので、解決方法、もしくはヒントを教えていただきたいです。
よろしくお願いします。

発生している問題・エラー

 Require statement not part of import statement         @typescript-eslint/no-var-requires

該当するソースコード

<template>
    <img :src="img" alt="" class="img">
</template>

<script lang="ts">
import { defineComponent, ref } from 'vue'

export default defineComponent({
  setup() {
    const img = ref(require("@/assets/logo.png"))

    return {
      img
    }
  },
})
</script>

自分で試したこと

調べてみて試したことが2つあります。
1.'@typescript-eslint/no-var-requires': 0,をeslintrc.jsのrulesに入れる。
2./* eslint-disable */をtsconfig.jsonに入れる。
これらの方法では、何も変わりませんでした。
よろしくお願いします。

0

1Answer

"@typescript-eslint/no-var-requires": "off"

でエラーは消えました。
ただ、assetsフォルダの画像を使用したいだけなのであればHelloWorldのテンプレにもある通り

<img src="./assets/logo.png">

とするだけで勝手にパスを解決してくれるようですが

0Like

Comments

  1. ご回答ありがとうございます!
    @mouseofmickyさんのおっしゃる通り、エラーは消えました。
    以前他のサイトを作っていた時にこの`"@typescript-eslint/no-var-requires": "off"`が無くてもできていたのですが、今回エラーが出た理由がわかりません。
    そこはまた調べていこうと思います。
    `<img src="./assets/logo.png">`にしなかった理由は、これからscriptの方でsrcを動的に切り替えていこうと考えていたからです。
    迅速なご回答ありがとうございました。

Your answer might help someone💌