商店页支持按类型与烘焙度筛选并排序
ecommerce-template — Nuxt 电商模板
作者 nicolascadet-ops
基于 Nuxt 与 Vue 的咖啡烘焙电商模板,包含商品筛选、规格选项、订阅、购物车抽屉与演示结账流程,可静态导出。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
商品页提供大小、研磨度、数量选项与订阅优惠价格
购物车抽屉与购物车页含数量控制、免运费进度条与合计,状态保存在浏览器中
结账含内联校验(含加拿大邮政编码)与订单确认页,不含卡号字段
商品插画由商品数据生成,每款咖啡有独立配色包装,目录视觉统一
无障碍支持键盘操作、焦点陷阱抽屉、可见焦点、WCAG AA 对比度与减少动效
模板详细介绍
这是一个面向精品咖啡烘焙商的电商店铺模板,使用 Nuxt(Vue)构建,并通过静态生成输出纯静态站点。项目以虚构品牌 Ember & Oak 为示例,提供完整的店铺页面结构:带类型与烘焙度筛选和排序的商店页、支持规格(大小、研磨度、数量)与订阅优惠的商品详情页、通过两个问题给出推荐结果的咖啡选择器,以及带数量控制、免运费进度条和合计金额的购物车抽屉与购物车页面。购物车数据保存在浏览器中,页面刷新后仍然保留。结账流程包含内联表单校验(含加拿大邮政编码)和订单确认页,但不含银行卡输入字段,生产环境需接入 Stripe Checkout 或 Shopify。
模板的商品图由商品数据生成,每款咖啡有独立配色的包装插画,冲煮器具采用同一风格绘制,因此目录视觉保持一致。无障碍方面支持键盘操作选项、使用原生 dialog 实现焦点陷阱的购物车抽屉、可见焦点样式、WCAG AA 对比度以及减少动效偏好。站点为静态 HTML,字体自托管,图片预生成 WebP 尺寸。
需要说明的是,这是演示店铺:不产生真实支付与订单,商品、价格与文案均为示例内容;商品插画为示意图,生活场景照片来自 Unsplash。README 给出了本地运行、内容自定义、接入支付与部署到 Cloudflare Pages 的路径,但未提供生产环境的后端或数据库实现。
适合你的项目吗?
适用场景
- 搭建精品咖啡或食品类小型电商店铺的前端展示层
- 作为 Nuxt 静态站点电商结构的参考实现
- 演示购物车、商品选项与订阅定价的交互流程
- 在接入 Stripe Checkout 或 Shopify 前用于前端原型验证
适合人群
- 需要 Nuxt/Vue 电商前端模板的开发者
- 希望以静态站点方式部署店铺前端的团队
- 需要参考商品选项与购物车交互实现的开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
本地运行需要 Node.js 22.19 或更高版本,执行 npm install 与 npm run dev,默认访问 http://localhost:3000
- 2
商品、价格、规格、研磨度与运费规则在 app/utils/products.ts 中修改,货币格式由该文件的 formatPrice 控制(默认 CAD)
- 3
颜色、字体与间距通过 app/assets/css/main.css 顶部的 CSS 变量调整,字体文件位于 public/fonts/
- 4
npm run build 会执行 nuxt generate,将页面预渲染到 .output/public/,可部署到 Cloudflare Pages(构建命令 npm run build,输出目录 .output/public)
- 5
接入支付需自行添加服务端逻辑,例如用无服务器函数创建 Stripe Checkout Session,或通过 Shopify Storefront API 创建购物车与结账
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 这是演示店铺:不产生真实支付与订单,商品、价格与文案均为示例内容,不能直接作为真实商店上线。
- 商品图为示意图,生活场景照片来自 Unsplash,使用这些照片需遵守 Unsplash 许可并自行核实授权。
- 结账不含卡号字段,生产环境需自行接入 Stripe Checkout 或 Shopify 等外部支付服务。
- 接入 Stripe 支付需自行编写服务端(如 Cloudflare Worker)创建 Checkout Session,涉及外部服务与账号。
- 接入 Shopify 需使用其 Storefront API 创建购物车与结账,涉及外部服务与账号。
- 本地运行要求 Node.js 22.19 或更高版本。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
> **Ember & Oak is a fictional business and this is a demo store.** No payments are taken and no orders are placed. Products, prices and copy are sample content.
README 原文
Product images (coffee bags and brewing gear) are illustrations; lifestyle photos are from Unsplash.
README 原文
No card fields: in production this step hands off to Stripe Checkout or Shopify.
README 原文
1. **Stripe Checkout**: add a small serverless function (for example a Cloudflare Worker) that creates a Checkout Session from the cart lines, and redirect to it from `app/pages/checkout/index.vue`.
README 原文
2. **Shopify Storefront API**: keep this front end and create the cart and checkout through Shopify.
README 原文
https://github.com/nicolascadet-ops/ecommerce-template/blob/main/LICENSEhttps://github.com/nicolascadet-ops/ecommerce-template/blob/main/README.mdRequires Node.js 22.19 or later.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-04。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料一般 · 73 / 100
- 技术栈
- Nuxt · Vue
- 网站类型
- 电商
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-10-03
- 截图检查日期
- 2026-10-04
目前没有记录演示链接。请依据仓库说明在本地评估;仅凭截图无法确认交互行为。
目录记录的主要技术栈是 Nuxt。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-05
查看当时使用的来源资料
SHA-256: f34445e623aaf9529ae520406cdd547e6283fa1271d3252c44a6786e4b48735b
2026-10-04T21:30:48.675Z
来源文件 / 仓库# Ember & Oak: E-commerce Store Template A complete online store for a specialty coffee roaster, built with [Nuxt](https://nuxt.com) (Vue) and generated as a fast static site. Product pages, options, subscriptions, a slide-out cart and a validated checkout flow, ready to connect to Stripe or Shopify.  > **Ember & Oak is a fictional business and this is a demo store.** No payments are taken and no orders are placed. Products, prices and copy are sample content. Product images (coffee bags and brewing gear) are illustrations; lifestyle photos are from Unsplash. ## Features - **Shop** with filters (type, roast) and sorting. - **Product pages** with size, grind and quantity options, plus **subscribe & save** pricing. - **Coffee finder**: two questions, one recommendation. - **Cart drawer** and cart page with quantity controls, free-shipping progress bar and totals. The cart is saved in the browser, so it survives page reloads. - **Checkout** with inline validation (including Canadian postal codes) and an order confirmation page. No card fields: in production this step hands off to Stripe Checkout or Shopify. - **Illustrated product art**: each coffee gets a bag in its own colour, generated from the product data, and brewing gear is drawn in the same style, so the catalogue always looks consistent. - **Accessible**: keyboard-friendly options, a focus-trapped cart drawer (native `<dialog>`), visible focus, WCAG AA contrast, reduced-motion support. - **Fast**: static HTML, self-hosted fonts, pre-sized WebP images, small Vue bundle. ## Run it locally Requires Node.js 22.19 or later. ```bash npm install npm run dev ``` Open http://localhost:3000. ## Customise | What | Where | |---|---| | Products, prices, sizes, grinds, shipping rules | `app/utils/products.ts` | | Currency | `formatPrice` in `app/utils/products.ts` (CAD by default) | | Colours, fonts, spacing | CSS variables at the top of `app/assets/css/main.css`, font files in `public/fonts/` | | Coffee finder answers | `PICKS` in `app/components/CoffeeFinder.vue` | | Home page sections | `app/pages/index.vue` | | Cart logic (saved in localStorage) | `app/composables/useCart.ts` | | Site title, meta tags, pre-rendered routes | `nuxt.config.ts` | ### Going live with payments The cart already holds everything a checkout needs (product, size, grind, subscription, quantity). Two common routes: 1. **Stripe Checkout**: add a small serverless function (for example a Cloudflare Worker) that creates a Checkout Session from the cart lines, and redirect to it from `app/pages/checkout/index.vue`. 2. **Shopify Storefront API**: keep this front end and create the cart and checkout through Shopify. To preview the built site locally: `npm run build` then `npm run preview`. ## Deploy to Cloudflare Pages `npm run build` runs `nuxt generate`, which pre-renders every page into a plain static site in `.output/public/`. - **Dashboard:** Workers & Pages → Create → Pages → Connect to Git → pick this repo. Build command: `npm run build`. Output directory: `.output/public`. - **CLI:** ```bash npm run build npx wrangler pages deploy .output/public --project-name ember-and-oak ``` ## Credits - Typefaces: [Bricolage Grotesque](https://fonts.google.com/specimen/Bricolage+Grotesque) and [Figtree](https://fonts.google.com/specimen/Figtree), SIL Open Font License. - Photos from [Unsplash](https://unsplash.com) (Unsplash License): | File | Photographer | Source | |---|---|---| | `public/images/hero.webp` | Beau Carpenter | https://images.unsplash.com/photo-1729277133095-bff46b56c29a | | `public/images/brewing.webp` | kayla phaneuf | https://images.unsplash.com/photo-1548818251-53e9da6f0655 | | `public/images/farm.webp` | Faris Ristiansyah | https://images.unsplash.com/photo-1782974501096-90a2249b417a | | `public/images/roastery.webp` | Yanapi Senaud | https://images.unsplash.com/photo-1511537190424-bbbab87ac5eb | - Built by **NC Atelier**. --- ### Want a store like this for your business? NC Atelier designs and builds fast, accessible websites for businesses in the UK, US and Canada. **Get in touch:** [ncatelier.com](https://ncatelier.com) · [LinkedIn](https://www.linkedin.com/in/cadetnicolas)
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

nitrogen
⚡️ A Nuxt 4 Shopify template based on Hydrogen
Nuxt · 电商

nuxt-starter-prismic-farbe
A 3D eCommerce website template powered by Nuxt and Prismic
Nuxt · 电商

thunder
Thunder 是一个基于 Nuxt 3 构建的电商前端应用模板,目前处于积极开发阶段,适合作为在线商店的起点。
Nuxt · 电商

payment-gateway-starter-web
Nuxt 4 + Nuxt UI storefront and admin dashboard for payment-gateway-starter (Xendit / Midtrans, QRIS, VA, e-wa…
Nuxt · 后台

tema-alinhavo
Tema Cloud Commerce para moda feminina
Astro · 电商

tema-bitola
Tema Cloud Commerce para construcao civil e venda B2B
Astro · 电商
