javascript - 配置 Vue 加载器和惰性大小以使用 Nuxt 转换 url
问题描述
我正在尝试使用 Nuxt 配置惰性大小,而我的 url 没有由 Webpack 处理,因此出现 404 错误。我得到了路径src="~/assets/img.png"
而不是src="/_nuxt/assets/img.png"
. 我将lazysizes
作为 npm 包和以下内容添加到我的nuxt.config.js
文件中。
/*
** Plugins to load before mounting the App
*/
plugins: [
'~/plugins/lazysizes.client.ts',
],
/*
** Build configuration
*/
build: {
extend(_config, { isClient, loaders: { vue } }) {
// Extend only webpack config for client-bundle
if (isClient) {
vue.transformAssetUrls.img = ['src', 'data-src']
}
},
},
而这个内容plugins/lazysizes.client.ts
import lazySizes from 'lazysizes'
export default lazySizes
为了尽量减少复制,我只使用这样一个非常简单的图像。
<img
class="lazyload"
data-src="~/assets/img.png"
alt="Image description"
loading="lazy"
/>
我完成了这篇文章https://dev.to/ignore_you/minify-generate-webp-and-lazyload-images-in-your-vue-nuxt-application-1ilm。
解决方案
找到了答案!如果有人来到这里,以供将来参考,我阅读这篇文章https://medium.com/@dannjb/a-lazy-loading-image-component-for-nuxt-js-c34e0909e6e1解决了它。
As I run SSR using yarn generate, I need the asset url transform to happen on the server too; the isClient check is removed.
删除isClient
对 SSR 的检查后,我开始工作了!
推荐阅读
- node.js - 找不到模块“约翰尼五”?
- ios - Swift UI - HostingController 添加了不需要的导航栏
- java - android studio 缺少类向导
- javascript - 对象数组不使用 setState 和 map 渲染
- arrays - 在 React 组件中访问 JSON 数组中的对象
- javascript - 来自 Heroku 和 Webpack 的配置变量
- javascript - 为什么尝试访问单维对象数组作为双数组会更改底层对象
- python - Pandas:如何操作不同组中的两列和分段?
- python - 无法用整数准确地整理列表中的数据
- arrays - (反应)从数组中删除元素