На данный момент я только начинаю изучать Vue.js. Не могу решить такую проблему, при использовании "require()" появляется ошибка: "Module not found: Error: Can't resolve". Если я использую статическую загрузку, то все изображения загружаются нормально.
Статическая загрузка фотографий, которая работает:
<template>
<img :src="'../img/' + message.filename" alt="img"/>
</template>
Динамическая загрузка фото, которая не работает:
<template>
<img :src="require('../img/' + message.filename)" alt="img"/>
</template>
Также пытался:
"require('@/img/' + message.filename)" alt="img"/>
"require('@/assets/img/' + message.filename)" alt="img"/>
Структура папок:
/src
/assets
/img
image_1.jpg
image_2.jpg
/resources
/static
/components
App.vue
main.js
Webpack.config.js
const path = require('path');
const VueLoaderPlugin = require('vue-loader/lib/plugin');
module.exports = {
mode: 'development',
devtool: 'source-map',
entry: path.join(__dirname, 'src', 'main', 'resources', 'static', 'js', 'main.js'),
devServer: {
contentBase: './static',
compress: true,
port: 8000,
allowedHosts: [
'localhost:8080'
],
stats: 'errors-only',
clientLogLevel: 'error',
},
module: {
rules: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
},
{
test: /\.vue$/,
loader: 'vue-loader'
},
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
]
}
]
},
plugins: [
new VueLoaderPlugin()
],
resolve: {
modules: [
path.join(__dirname, 'src', 'main', 'resources', 'static', 'js'),
path.join(__dirname, 'node_modules'),
],
extensions: ['.js']
}
}