nuxt-swiper
为 Nuxt 3 打造的 Swiper.js
Nuxt 3 的完整功能 Swiper.js 模块。查看 Swiper.js 以获取更多关于如何使用的信息。
功能
- 🚀 Nuxt 3 支持
- 📖 开源
- 🪄 TypeScript 支持
- ✨ 自动导入已启用
- ✨ 像魔法一样开箱即用 ✨
StackBlitz 演示
只想试一试?查看下面的演示。
安装
# npm
npm install nuxt-swiper
# yarn
yarn add nuxt-swiper
#pnpm
pnpm add nuxt-swiper
设置
// nuxt.config.ts
import { defineNuxtModule } from 'nuxt'
export default defineNuxtConfig({
modules: ['nuxt-swiper']
swiper: {
// Swiper options
//----------------------
// prefix: 'Swiper',
// styleLang: 'css',
// modules: ['navigation', 'pagination'], // all modules are imported by default
}
})
使用
组件名称 | 自动导入 |
---|---|
<Swiper /> | ✅ |
<SwiperSlide /> | ✅ |
默认前缀:Swiper
您可以在模块选项中更改前缀。
模块名称 | 自动导入 |
---|---|
SwiperA11y | ✅ |
SwiperAutoplay | ✅ |
SwiperController | ✅ |
SwiperEffectCreative | ✅ |
SwiperEffectCoverflow | ✅ |
SwiperEffectCube | ✅ |
SwiperEffectFade | ✅ |
SwiperEffectFlip | ✅ |
SwiperFreeMode | ✅ |
SwiperGrid | ✅ |
SwiperHashNavigation | ✅ |
SwiperHistory | ✅ |
SwiperKeyboard | ✅ |
SwiperLazy | ❌ - 已移除 Swiper ^9.0.0 |
SwiperMousewheel | ✅ |
SwiperManipulation | ✅ |
SwiperNavigation | ✅ |
SwiperPagination | ✅ |
SwiperParallax | ✅ |
SwiperScrollbar | ✅ |
SwiperThumbs | ✅ |
SwiperVirtual | ✅ |
SwiperZoom | ✅ |
<template>
<Swiper
:modules="[SwiperAutoplay, SwiperEffectCreative]"
:slides-per-view="1"
:loop="true"
:effect="'creative'"
:autoplay="{
delay: 8000,
disableOnInteraction: true,
}"
:creative-effect="{
prev: {
shadow: false,
translate: ['-20%', 0, -1],
},
next: {
translate: ['100%', 0, 0],
},
}"
>
<SwiperSlide v-for="slide in 10" :key="slide">
<strong>{{ slide }}</strong>
</SwiperSlide>
</Swiper>
</template>
模块选项
type SwiperStyleLangType = 'css' | 'scss'
type SwiperModulesType =
| 'a11y'
| 'autoplay'
| 'controller'
| 'free-mode'
| 'grid'
| 'hash-navigation'
| 'history'
| 'keyboard'
| 'manipulation'
| 'mousewheel'
| 'navigation'
| 'pagination'
| 'parallax'
| 'scrollbar'
| 'thumbs'
| 'virtual'
| 'zoom'
| `effect-${SwiperInterface['effect']}`
export interface SwiperModuleOptions {
/**
* The prefix to use for the Swiper Modules to import.
* This is useful for importing only the modules you need and
* avoiding importing the entire Swiper library.
*
* e.g. `${prefix}Autoplay` -> `SwiperAutoplay`
*
* @default 'Swiper' - import components from 'swiper/vue' by default
*/
prefix?: string
/**
* Which type of lang of styles to import
*
* @default 'css' - imports css from 'swiper/css' by default
*/
styleLang?: SwiperStyleLangType
/**
* Swiper modules to import
*
* '*' - imports all modules
* '['thumbs', 'lazy']' - imports only specified modules
*
* @default '*' - imports all modules by default
*/
modules?: '*' | SwiperModulesType[]
}
export {}
💻 开发
- 克隆此仓库
- 使用
corepack enable
启用 Corepack - 使用
pnpm install --shamefully-hoist
安装依赖项 - 使用
pnpm dev
打开游乐场
➕ 贡献
贡献使开源社区成为一个学习、启发和创造的绝佳场所。您做出的任何贡献都将非常感谢。
- 派生项目
- 创建您的功能分支 (
git checkout -b feature/AmazingFeature
) - 提交您的更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 打开拉取请求
鸣谢
swiper
由 @nolimits4web 开发。 nuxt-swiper
由 @cpreston321 开发。
📜 许可证
MIT 许可证 © 2022 cpreston321
📧 联系
cpreston321 - @cpreston321
此外,如果您喜欢我的作品,请随时 请我喝杯咖啡 ☕️