All Projects → nuxt-community → Style Resources Module

nuxt-community / Style Resources Module

Licence: mit
Nobody likes extra @import statements!

Programming Languages

javascript
184084 projects - #8 most used programming language
stylus
462 projects

Projects that are alternatives of or similar to Style Resources Module

Composition Api
Composition API hooks for Nuxt.
Stars: ✭ 441 (-9.07%)
Mutual labels:  nuxt, nuxtjs
Nuxt Firebase Sns Example
Nuxt v2 & Firebase(Hosting / Functions SSR / Firestore), Google Auth SNS Example.
Stars: ✭ 485 (+0%)
Mutual labels:  nuxt, nuxtjs
Nuxt Material Admin
Vue-CLI Boilerplate based on Nuxt and vue-material-admin template.
Stars: ✭ 310 (-36.08%)
Mutual labels:  nuxt, nuxtjs
Nuxt7
📱 Full Featured iOS & Android PWA Apps with Nuxt.js and Framework7
Stars: ✭ 282 (-41.86%)
Mutual labels:  nuxt, nuxtjs
Awesome Nuxt
A curated list of awesome things related to Nuxt.js
Stars: ✭ 4,285 (+783.51%)
Mutual labels:  nuxt, nuxtjs
Graphcms Examples
Example projects to help you get started with GraphCMS
Stars: ✭ 295 (-39.18%)
Mutual labels:  nuxt, nuxtjs
Device Module
Nuxt.js module for detecting device type.
Stars: ✭ 436 (-10.1%)
Mutual labels:  nuxt, nuxtjs
Vscode Stylelint
A Visual Studio Code extension to lint CSS/SCSS/Less with stylelint
Stars: ✭ 260 (-46.39%)
Mutual labels:  sass, less
Wuxt
Nuxt/WordPress development environment, combining the worlds biggest CMS with the most awesome front-end application framework yet.
Stars: ✭ 459 (-5.36%)
Mutual labels:  nuxt, nuxtjs
Nuxt Purgecss
Drop superfluous CSS! A neat PurgeCSS wrapper for Nuxt.js
Stars: ✭ 356 (-26.6%)
Mutual labels:  nuxt, nuxtjs
Nuxt Blog
基于Nuxt.js服务器渲染(SSR)搭建的个人博客系统
Stars: ✭ 277 (-42.89%)
Mutual labels:  nuxt, less
Fontisto
The iconic font and CSS toolkit. Fontisto gives you scalable vector icons that can instantly be customized: size, color, drop shadow and anything that can be done with the power of CSS.
Stars: ✭ 413 (-14.85%)
Mutual labels:  sass, less
Nuxt Ssr Firebase
Nuxt.js Universal App with SSR via Firebase Functions and Firebase Hosting
Stars: ✭ 273 (-43.71%)
Mutual labels:  nuxt, nuxtjs
Blog Front
blog-front @nuxt
Stars: ✭ 305 (-37.11%)
Mutual labels:  nuxt, nuxtjs
Nuxt Webfontloader
Efficient web font loading has never been easier!
Stars: ✭ 264 (-45.57%)
Mutual labels:  nuxt, nuxtjs
Nuxt Ssr
✨vue+nuxt+sass+node+express+MongoDB 实现的SSR项目。
Stars: ✭ 323 (-33.4%)
Mutual labels:  nuxtjs, sass
admin-null-nuxt
Admin Null — Free Nuxt Bulma Admin Dashboard (with dark mode)
Stars: ✭ 39 (-91.96%)
Mutual labels:  nuxt, nuxtjs
nuxt-star-admin-extra
Admin Template base on Vue StarAdmin with improved on design and served using Nuxt.js
Stars: ✭ 19 (-96.08%)
Mutual labels:  nuxt, nuxtjs
Vue Notion
A fast Vue renderer for Notion pages
Stars: ✭ 343 (-29.28%)
Mutual labels:  nuxt, nuxtjs
Vue Gallery
📷 Responsive and customizable image and video gallery, carousel and lightbox, optimized for both mobile and desktop web browsers.
Stars: ✭ 405 (-16.49%)
Mutual labels:  nuxt, nuxtjs

Nuxt Style Resources - Nobody likes extra @import statements!

npm (scoped with tag) npm Build Status codecov Dependencies js-standard-style

📖 Release Notes

Features

  • Share variables, mixins, functions across all style files (no @import needed)
  • Support for SASS, LESS and Stylus
  • Aliases (~/assets/variables.css) and globbing as supported
  • Compatible with Nuxt's build.styleResources (and will take them over directly if included!)
  • Blazing fast™️

Warning

Do not import actual styles. Use this module only to import variables, mixins, functions (et cetera) as they won't exist in the actual build. Importing actual styles will include them in every component and will also make your build/HMR magnitudes slower. Do not do this!

Setup

  • If not already present, add the dependencies you need for SASS/LESS/Stylus (depending on your needs)
    • SASS: yarn add sass-loader node-sass
    • LESS: yarn add less-loader less
    • Stylus: yarn add stylus-loader stylus
  • Add @nuxtjs/style-resources dependency using yarn or npm to your project (yarn add -D @nuxtjs/style-resources)
  • Add @nuxtjs/style-resources to buildModules section of nuxt.config.js:
export default {
  buildModules: [
    '@nuxtjs/style-resources',
  ],

  styleResources: {
   // your settings here
   sass: [],
   scss: [],
   less: [],
   stylus: []
  }
}

Examples

LESS Example

nuxt.config.js:

export default {
  css: ['~assets/global.less'],
  buildModules: ['@nuxtjs/style-resources'],
  styleResources: {
    less: './assets/vars/*.less'
  }
}

assets/global.less

h1 {
  color: @green;
}

assets/vars/variables.less

@gray: #333;

assets/vars/more_variables.less

@green: #00ff00;

pages/index.vue

<template>
  <div>
    <!-- This h1 will be green -->
    <h1>Test</h1>
    <test/>
  </div>
</template>

<script>
import Test from '~/components/Test'

export default {
  components: { Test }
}
</script>

components/Test.vue

<template>
  <div class="ymca">
    Test
  </div>
</template>

<style lang="less">
  .ymca {
    color: @gray; // will be resolved to #333
  }
</style>

SCSS Example

nuxt.config.js:

export default {
  buildModules: ['@nuxtjs/style-resources'],
  styleResources: {
    scss: [
      './assets/vars/*.scss',
      './assets/abstracts/_mixins.scss' // use underscore "_" & also file extension ".scss"
      ]
  }
}

Instead of './assets/abstracts/_mixins.scss' you can use also '~assets/abstracts/_mixins.scss'

assets/vars/_colors.scss

$gray: #333;

assets/abstracts/_mixins.scss

@mixin center() {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
}

components/Test.vue

<template>
  <div class="ymca">
    Test
  </div>
</template>

<style lang="scss">
  .ymca {
    @include center; // will be resolved as position:absolute....
    color: $gray; // will be resolved to #333
  }
</style>

License

Inspired by nuxt-sass-resources-loader.

MIT License

Copyright (c) Alexander Lichter

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].