Vue 단일 파일 구성 요소에서 이미지를 가져오고 사용하는 방법
간단하다고 생각합니다만, Vue 싱글 파일 컴포넌트의 이미지 Import와 사용 방법에 문제가 있습니다.누가 나 좀 도와줄래?코드 스니펫은 다음과 같습니다.
<template lang="html">
<img src="zapierLogo" />
</template>
<script>
import zapierLogo from 'images/zapier_logo.svg'
export default {
}
</script>
<style lang="css">
</style>
사용해보았습니다.:src
,src="{{ zapierLogo }}"
등. 하지만 아무것도 작동하지 않는 것 같아.나도 예시를 찾을 수 없었다.도움이 필요하신가요?
다음과 같이 심플합니다.
<template>
<div id="app">
<img src="./assets/logo.png">
</div>
</template>
<script>
export default {
}
</script>
<style lang="css">
</style>
vue cli에서 생성한 프로젝트에서 가져옵니다.
이미지를 모듈로 사용하는 경우 데이터를 Vuejs 컴포넌트에 바인드하는 것을 잊지 마십시오.
<template>
<div id="app">
<img :src="image"/>
</div>
</template>
<script>
import image from "./assets/logo.png"
export default {
data: function () {
return {
image: image
}
}
}
</script>
<style lang="css">
</style>
그리고 더 짧은 버전:
<template>
<div id="app">
<img :src="require('./assets/logo.png')"/>
</div>
</template>
<script>
export default {
}
</script>
<style lang="css">
</style>
자산에서 사진을 가져올 때 웹 팩을 사용할 것을 강력히 권장합니다.일반적으로 최적화 및 패칭 목적으로 사용합니다.
웹 팩으로 로드하고 싶은 경우 간단히 사용할 수 있습니다.:src='require('path/to/file')'
꼭 사용해 주세요.:
그렇지 않으면 요구문이 Javascript로 실행되지 않습니다.
타이프스크립트에서도 거의 같은 조작을 실행할 수 있습니다.:src="require('@/assets/image.png')"
다음 사항이 일반적으로 잘못된 관행으로 간주되는 이유는 무엇입니까?
<template>
<div id="app">
<img src="./assets/logo.png">
</div>
</template>
<script>
export default {
}
</script>
<style lang="scss">
</style>
Vue CLI를 사용하여 빌드할 때 웹 팩은 자산 파일이 상대 Import에 이은 구조를 유지하도록 보장할 수 없습니다.이는 자산 폴더 내에 표시되는 항목을 최적화하고 청크하려는 웹 팩 때문입니다.상대적인 Import를 사용하는 경우는, Relative Import를 사용해 주세요.static
폴더 및 사용:<img src="./static/logo.png">
최근에 이 문제를 발견했고, 저는 Typescript를 사용하고 있습니다.나처럼 Typescript를 사용하는 경우 다음과 같이 자산을 Import해야 합니다.
<img src="@/assets/images/logo.png" alt="">
루트 숏컷을 다음과 같이 사용할 수도 있습니다.
<template>
<div class="container">
<h1>Recipes</h1>
<img src="@/assets/burger.jpg" />
</div>
</template>
Nuxt이지만 Vue CLI와 동일합니다.
JavaScript와 TypeScript에서 모두 사용할 수 있습니다.
<img src="@/assets/images/logo.png" alt="">
또는
<img src="./assets/images/logo.png" alt="">
에서 문제가 발생하였습니다.quasar
모바일 프레임워크 기반입니다.vue
, tidle 구문~assets/cover.jpg
일반 컴포넌트에서는 동작하지만 다이내믹하게 정의된 컴포넌트에서는 동작하지 않습니다.
let c=Vue.component('compName',{...})
마지막으로 이 작업:
computed: {
coverUri() {
return require('../assets/cover.jpg');
}
}
<q-img class="coverImg" :src="coverUri" :height="uiBook.coverHeight" spinner-color="white"/>
https://httpsar.dev/httpsar-cli/handling-https의 설명에 따르면
In *.vue components, all your templates and CSS are parsed by vue-html-loader and css-loader to look for asset URLs. For example, in <img src="./logo.png"> and background: url(./logo.png), "./logo.png" is a relative asset path and will be resolved by Webpack as a module dependency.
..다단계 Vueelectro-app에서 여러 번 사용한 플레이스홀더를 Import하려고 했던 경우와 같이 다른 모든 것이 실패했을 때, 이번에는 서브 서브컴포넌트 내에서 권장되는 솔루션이 정상적으로 동작하지 않았습니다.
<template>
<div id="app">
<img :src="image"/>
</div>
</template>
<script>
export default {
data() { return {image: null, ...} },
methods: {
solveImage(){
const path = require('path')
return path.join(process.cwd(), '/src/assets/img/me.jpg')
},
...
},
mounted: {
this.image = this.solveImage()
...
}
}
</script>
..해야 합니다.
created-flash-hook에서 더 잘 동작하는지 또는 글로벌하게 경로를 필요로 하고 콜만 하고 싶은지 여부
this.image = path.join(...)
후크 중 하나에 꽂혀 있습니다. 스스로 테스트해 보세요.
자산 이미지를 표시하는 것도 같은 문제에 직면해 있습니다.드디어 이 두 가지 방법이 나한테는 잘 통하네
<img src="@/assets/img/bg1.png" />
그리고.
<img :src="require('@/assets/img/bg1.png')" />
Vue 3의 경우,
<template>
<div id="app">
<img :src="zapierLogo" />
</div>
</template>
<script>
import zapierLogo from 'images/zapier_logo.svg'
export default {
...
data: function () {
return {
zapierLogo
}
}
}
</script>
다.src="@/assets/burger.jpg"
★★★★★★★★★★★★★★★★★」src="../assets/burger.jpg"
효과가 없는 것 같았어
언급URL : https://stackoverflow.com/questions/45116796/how-to-import-and-use-image-in-a-vue-single-file-component
'programing' 카테고리의 다른 글
Vuex 변경은 모듈에 영향을 주지 않음 (0) | 2022.07.27 |
---|---|
Vuex(vuex-typex)에서 알 수 없는 작업 유형이 갑자기 느려짐 (0) | 2022.07.27 |
오류: [vuex]에서 문자열이 유형으로 예상되지만 정의되지 않았습니다. (0) | 2022.07.27 |
vuejs2는 사용자가 @ 키를 눌렀는지 여부를 수신합니다. (0) | 2022.07.27 |
C의 동적 다차원 어레이를 사용하는 방법은 무엇입니까? (0) | 2022.07.27 |