Nuxt/Vite中的动态资产

我可以从Nuxt(+webpack)的文件夹中动态加载图片,只需使用如下方法:

getServiceIcon(iconName) {
  return require ('../../static/images/svg/services/' + iconName + '.svg');
}

我移到了VITE,这里没有定义require(使用ROLLUP)。我怎么才能解决这个问题,用NUXT/VITE?有什么想法吗?


解决方案

您可以这样使用import()

const getServiceIcon = async iconName => {
  const module = await import(/* @vite-ignore */ `../../static/images/svg/services/${iconName}.svg`)
  return module.default.replace(/^/@fs/, '')
}

demo 1: Vue 3 Composition API

demo 2: Vue 3 Options API

demo 3: Vue 2 Composition API

demo 4: Vue 2 Options API

相关文章