"를 통해 이미지를 읽습니다. "require('~/images/2.png').default" 방법을 사용하여 이미지를 읽습니다. 3. img 필드를 파일 이름과 이미지 이름의 두 부분으로 나눈 다음 "require('@/assets)를 사용합니다. " 읽는 방법 그냥 가져가세요."/> "를 통해 이미지를 읽습니다. "require('~/images/2.png').default" 방법을 사용하여 이미지를 읽습니다. 3. img 필드를 파일 이름과 이미지 이름의 두 부분으로 나눈 다음 "require('@/assets)를 사용합니다. " 읽는 방법 그냥 가져가세요.">

 >  기사  >  웹 프론트엔드  >  반응 사용이 필요할 수 있나요?

반응 사용이 필요할 수 있나요?

藏色散人
藏色散人원래의
2022-12-27 09:47:543470검색

react는 require를 사용할 수 있습니다. 1. "반응 사용이 필요할 수 있나요?

반응 사용이 필요할 수 있나요?import user from &#39;../img/user.png&#39; <img src={user} alt="" />

1.2%20%EB%B0%A9%EB%B2%95%202

%EB%91%90%20%EB%B2%88%EC%A7%B8%20%EB%B0%A9%EB%B2%95%EB%8F%84%20%EB%8B%B9%EC%8B%9C%EC%97%90%EB%8A%94%20%EB%A1%9C%EC%BB%AC%20%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC%20%EC%9D%BD%EA%B8%B0%20%EC%9C%84%ED%95%B4%20require%20%EB%A9%94%EC%84%9C%EB%93%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%EC%98%A4%EB%A5%98%EA%B0%80%20%EB%B0%9C%EC%83%9D%ED%95%A0%20%ED%99%95%EB%A5%A0%EC%9D%B4%20%EB%86%92%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4.%20

<img src={require(&#39;../img/icon1.png&#39;)} alt="" />

%ED%95%9C%20%EA%B0%80%EC%A7%80%20%EB%8D%94:%20require%EC%97%90%EB%8A%94%20%EB%B3%80%EC%88%98%EA%B0%80%20%EC%95%84%EB%8B%8C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A7%8C%20%EC%9E%91%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%20

2.%20require

2.1%20%EC%82%AC%EB%A1%80%201

%EB%B0%A9%EB%B2%95%202%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC%20%EB%A1%9C%EB%93%9C%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%A7%80%EB%A7%8C%20%EB%9F%B0%ED%83%80%EC%9E%84%20%EC%A4%91%EC%97%90%20%EC%9D%B4%EB%AF%B8%EC%A7%80%EB%A5%BC%20%EB%A1%9C%EB%93%9C%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EB%AC%B8%EC%A0%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20%ED%95%B4%EA%B2%B0%EC%B1%85%EC%9D%84%20%EB%91%90%20%EA%B0%80%EC%A7%80%20%EC%B0%BE%EC%95%98%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%EC%98%A8%EB%9D%BC%EC%9D%B8%EC%97%90%EC%84%9C%20%EC%9D%B4%20%EB%AC%B8%EC%A0%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%EB%8A%94%20%EB%8B%A4%EC%9D%8C%EA%B3%BC%20%EA%B0%99%EC%8A%B5%EB%8B%88%EB%8B%A4.%20

%ED%95%98%EC%A7%80%EB%A7%8C%20" file-loader esmodule true false>

{
  test: /.(png|jpg|gif|jpeg)$/,
  use: [{
  loader: &#39;url-loader&#39;,
  // loader: &#39;file-loader&#39;,
  options: {
  esModule: false, // 这里设置为false
  name: &#39;[name].[ext]&#39;,
  limit: 10240 
  } 
  }]
 }

옵션 2(권장)

require('~/images/2.png').default 괜찮습니다

ps: 하지만 반응 스캐폴딩 구성을 사용하는 경우 , .default를 사용할 필요는 없지만 직접 require(url ) of

2.2 사례 2

이 사례는 제가 연구 중에 만난 내용을 바탕으로 대략적으로 제 요구 사항을 설명합니다.

먼저 저는 React를 사용하여 그런 다음 로컬 데이터를 json으로 변환해야 했습니다. 그런 다음 React를 통해 형식을 읽고 프런트엔드 인터페이스에 표시했습니다. 텍스트를 읽는 방법은 쉽습니다. 결정적인 순간에 어려운 지점이다. 그럼 제가 이 어려움을 어떻게 해결했는지 이야기해 보겠습니다.

1) 먼저 아래와 같이 json 데이터의 일부를 가로챘습니다.

{
  "success": true,
  "msg": "",
  "titleImg": "http:\/\/iwen.wiki\/sxtstu\/blueberrypai\/indexImg\/youjiIcon_38.png",
  "travelnote": [
    {
      "title": "\u8de8\u8d8a\u8d64\u9053\u7684\u871c\u6708\u884c-\u9189\u7f8e\u6bdb\u91cc\u6c42\u65af-1",
      "writer": "\u4f59\u982d\u5c0f\u59d0Rachel",
      "content": "\u82b1\u306e\u6642\u5149\u65c5\u884c \u3010\u6642\u5149\u65c5\u884c\u3011\u5e74\u8f7b\u5c31\u662f \u7528\u6765\u6298\u817e\u7684\uff0c\u6709\u529b\u6c14\u53bb\u60f3\uff0c  \u53bb\u505a\uff0c\u800c\u662f\u4e3a\u4e86\u7a33\u5b9a\u4e22\u6389\u9752\u6625\uff0c\u4e3a\u4e86\u5e73\u6de1\u4e22\u6389\u68a6",
      "img": "http:\/\/iwen.wiki\/sxtstu\/blueberrypai\/indexImg\/youji_38.png"
    },
    {
      "title": "\u8de8\u8d8a\u8d64\u9053\u7684\u871c\u6708\u884c-\u9189\u7f8e\u6bdb\u91cc\u6c42\u65af-2",
      "writer": "\u4f59\u982d\u5c0f\u59d0Rachel",
      "content": "\u82b1\u306e\u6642\u5149\u65c5\u884c \u3010\u6642\u5149\u65c5\u884c\u3011\u5e74\u8f7b\u5c31\u662f \u7528\u6765\u6298\u817e\u7684\uff0c\u6709\u529b\u6c14\u53bb\u60f3\uff0c  \u53bb\u505a\uff0c\u800c\u662f\u4e3a\u4e86\u7a33\u5b9a\u4e22\u6389\u9752\u6625\uff0c\u4e3a\u4e86\u5e73\u6de1\u4e22\u6389\u68a6",
      "img": "http:\/\/iwen.wiki\/sxtstu\/blueberrypai\/indexImg\/youji_38.pngg"
    }
  ]
}

2) img 필드를 가져와야 합니다

"img": "http:\/\/iwen.wiki\/sxtstu\/blueberrypai\/indexImg\/youji_38.pngg"

그런 다음 img 필드를 얻었습니다. 얻는 것은 사진이 아니라 링크일 뿐이므로 사진을 표시하려면 다음 태그를 사용해야 합니다.

<img src={item.img} alt=&#39;图片未显示&#39;/>

흠, 완벽해 보이는군요. 위에 제공된 링크는 서버에 있으며 읽을 수 있고 표시됩니다. , 그러나 로컬 이미지인 경우:

"img": "@/assets/imgs/cloud/Directory.svg"

읽을 수 없으므로 이 아이디어는 마침내 통과되었습니다.

인터넷에서 다른 방법을 찾아볼 수밖에 없었고 다음 글을 발견했습니다.

"로컬 이미지를 참조하는 ES6 React 구성 요소의 문제"

이 글의 일반적인 의미는 위의 방법 1과 방법 2입니다. 이 방법은 사진이 많지 않고 프런트 엔드에 사진 경로를 직접 로드하는 문제를 해결할 수 있습니다. 그렇다면 데이터베이스에서 이미지의 경로를 읽어야 하는데 require는 변수를 쓸 수 없고 import from은 변수를 쓸 수 없다고 가정해 보겠습니다. 그렇다면 어떻게 해야 할까요? 그래서 이 글을 읽고 시도해봤는데 이해가 안되서 포기했어요.

마지막으로 require to read를 사용한 기사를 보고 마침내 내 문제가 해결되었습니다. 참고문헌 2를 살펴보세요. 여기서는 내 아이디어에 대해 이야기하겠습니다.

앞서 require()의 입력은 문자열만 가능하다고 말하지 않았나요? 따라서 img 필드를 파일 이름 + 사진 이름

예:

파일 이름: '@/assets/images/'

사진 이름: item.img의 두 부분으로 나눌 수 있습니다. collection 트래버스하려면 이렇게 작성하세요)

json에서 img 필드를 수정하세요:

"img": "logo.jpg"

마지막으로 문자열을 이어붙이는 것과 같습니다: @/assets/images/logo.jpg

require(&#39;@/assets/images/logo.jpg&#39;)

이렇게 하면 안 되나요? 우리의 목적은?

이렇게 쓸 때 읽을 수 없다면 다음과 같이 써보세요:

<img  src={require(&#39;@/assets/images/&#39;+ item.img).default} / alt="반응 사용이 필요할 수 있나요?" >

추천 학습: "react video tutorial"

위 내용은 반응 사용이 필요할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.