All Projects → nuxt-community → snipcart-module

nuxt-community / snipcart-module

Licence: other
Snipcart integration with for NuxtJS

Programming Languages

typescript
32286 projects
Vue
7211 projects
CSS
56736 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to snipcart-module

cloudinary-module
Integration of Cloudinary to Nuxt.js
Stars: ✭ 129 (+268.57%)
Mutual labels:  nuxt-module, nuxt-modules
nuxt-speedkit
nuxt-speedkit will help you to improve the lighthouse performance score (100/100) of your website.
Stars: ✭ 401 (+1045.71%)
Mutual labels:  nuxt-module, nuxt-modules
supabase
An easy way to integrate Supabase with NuxtJS
Stars: ✭ 39 (+11.43%)
Mutual labels:  nuxt-module, nuxt-modules
nuxt-babel
Use normal .babelrc file with your Nuxt app
Stars: ✭ 32 (-8.57%)
Mutual labels:  nuxt-module
global-components
Module to register global components for Nuxt.js
Stars: ✭ 57 (+62.86%)
Mutual labels:  nuxt-module
grav-plugin-snipcart
Grav Snipcart Plugin
Stars: ✭ 17 (-51.43%)
Mutual labels:  snipcart
dynamic
Load components initialized through @nuxt/components dyamically.
Stars: ✭ 49 (+40%)
Mutual labels:  nuxt-module
blueprints
Module for Nuxt.js to create distributable micro-apps
Stars: ✭ 40 (+14.29%)
Mutual labels:  nuxt-module
snipcart-gatsby-demo
Simple e-commerce for socks made with Gatsby, Snipcart and DatoCMS
Stars: ✭ 15 (-57.14%)
Mutual labels:  snipcart
django-ecommerce-wagtail
Django E-Commerce Tutorial: Wagtail CMS + Snipcart
Stars: ✭ 48 (+37.14%)
Mutual labels:  snipcart
Vue Wait
Complex Loader and Progress Management for Vue/Vuex and Nuxt Applications
Stars: ✭ 1,869 (+5240%)
Mutual labels:  nuxt-module
k-domains
A simple module to manage multiple subdomains with just one project
Stars: ✭ 41 (+17.14%)
Mutual labels:  nuxt-module
SnipWire
Full Snipcart shopping cart integration for ProcessWire CMF
Stars: ✭ 16 (-54.29%)
Mutual labels:  snipcart
nuxt-feature-toggle
The nuxt feature toggle module
Stars: ✭ 78 (+122.86%)
Mutual labels:  nuxt-module
snipcart-l10n
Snipcart v3.0 localization files
Stars: ✭ 18 (-48.57%)
Mutual labels:  snipcart
separate-env-module
Tear your variables apart!
Stars: ✭ 53 (+51.43%)
Mutual labels:  nuxt-module
influencer-hugo
Influencer is a Hugo theme for book authors and writers. It has also Snipcart supports for order books and payments.
Stars: ✭ 66 (+88.57%)
Mutual labels:  snipcart
Vue Scrollto
Adds a directive that listens for click events and scrolls to elements.
Stars: ✭ 1,859 (+5211.43%)
Mutual labels:  nuxt-module
Auth Module
auth.nuxtjs.org
Stars: ✭ 1,624 (+4540%)
Mutual labels:  nuxt-module
cloudcannon-jekyll-ecommerce
Multilingual e-commerce static website using Snipcart, CloudCannon, and Jekyll
Stars: ✭ 19 (-45.71%)
Mutual labels:  snipcart

@nuxtjs/snipcart

npm version npm downloads License  Release Notes

If you like using this module please consider sponsoring

If you are looking for nuxt 2 version please use 1.x version

Features

  • Full typescript support base on snipcart interface documentation
  • Full support of snipcart documentation out of the box
  • highly customization with power of nuxt3

Quick Setup

  1. Add @nuxtjs/snipcart dependency to your project
# Using pnpm
pnpm add -D @nuxtjs/snipcart

# Using yarn
yarn add --dev @nuxtjs/snipcart

# Using npm
npm install --save-dev @nuxtjs/snipcart
  1. Add @nuxtjs/snipcart to the modules section of nuxt.config.ts
export default defineNuxtConfig({
  modules: [
    '@nuxtjs/snipcart'
  ],
  snipcart: {
    publicApiKey: "youkey"
  }
})

That's it! You can now use Snipcart in your Nuxt app

At any time please have a look at our beautiful playground example.

useSnipcart

We tried to not create too much wrapper around the Snipcart api so we don't have to maintain so much if Snipcart change. But you may found some of them useful as:

  • exposing snipcart instance
  • use of isReady boolean to watch and make sure you can use snipcart instance safely
  • realtime store subscription (working but performance hit)
  • some function in case you are not using the JS SDK form window.Snipcart that will help you add html attributes that Snipcart will read on load. As bindProductItem or bindProductItemCustom
  • ability to change language or currency using respectively setLanguage or setCurrency

As we have a full typescript support play with it and read the description of what is exposed.

Loading

We are following Snipcart different loadings. You can control the load of the js using loadStrategy configuration property. You can tell snipcart to not load css using loadCSS config property.

If you load async take in consideration on server or client you will not have access to window.Snipcart or snipcart exposed by useSnipcart until its loaded. So adapt your logic

Customization

With nuxt it is super easy to customize snipart components. Use your own class css in addition of custom html to override snipcart component.

To do that create for example public/snipcart-custom.html as inside the playground. And make sure you add the path in the nuxt config using templatesUrl property

Snipcart SDK

As we told before we expose the snipcart SDK as by default with window.Snipcart or form the composable useSnipcart. So you will have the exact same full access to snipcart SDK

Development

# Install dependencies
npm install

# Generate type stubs
npm run dev:prepare

# Develop with the playground
npm run dev

# Build the playground
npm run dev:build

# Run ESLint
npm run lint

# Run Vitest
npm run test
npm run test:watch

# Release new version
npm run release
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].