0.0.52-dev • Published 23 days ago

@alerce/components v0.0.52-dev

Weekly downloads
17
License
-
Repository
-
Last release
23 days ago

component-library

How to Use Component library

1. In library (the dependency)

Make sure you have components property enabled in nuxt.config.js Create a nuxt.js file with the following contents

import { join } from 'path'

export default function () {
  const { nuxt } = this

  // Make sure components is enabled
  if (!nuxt.options.components) {
    throw new Error(
      'please set `components: true` inside `nuxt.config` and ensure using `nuxt >= 2.13.0`'
    )
  }

  this.nuxt.hook('components:dirs', (dirs) => {
    // Add ./components dir to the list
    dirs.push({
      path: join(__dirname, './components'),
      prefix: 'alerce',
    })
  })
}

If using Nuxt Property Decorators add this to nuxt.config.js

build: {
    babel: {
      presets({ isServer }) {
        return [['@nuxt/babel-preset-app', { loose: true }]]
      },
    },
  }

And if using ESLint add this to eslintrc.js

parserOptions: {
    ecmaFeatures: { legacyDecorators: true },
}

2. In App

Nuxt

Add your library to buildModules in nuxt.config.js

buildModules: [...'your-component-library/nuxt']

Now you can use it in your components

~/layouts/default.vue

<template>
  <v-app>
    <misc-a-header />
    <nuxt />
    <misc-a-footer />
  </v-app>
</template>

<script>
export default {}
</script>

And that's it. No need to import any component, just use them directly with the specified prefix.

Important Note When testing the library locally with npm link then external libraries used in your component library like Vuetify won't load in your app. To be able to use your library locally, then add this to build property in nuxt.config.js

extend(config) {
      if (process.env.NODE_ENV !== 'production') {
        config.resolve.modules.unshift(
          path.resolve(__dirname, './node_modules')
        )
      }
    },

Vue

~/src/App.vue

<template>
  <v-app>
    <misc-a-header />
    <router-view />
    <misc-a-footer />
  </v-app>
</template>

<script>
import AHeader from '@alerce/components/components/misc/AHeader.vue'
import AFooter from '@alerce/components/components/misc/AFooter.vue'
export default {
  components: {
    AHeader,
    AFooter,
  },
}
</script>

Important Note When testing the library locally with npm link then external libraries used in your component library like Vuetify won't load in your app. To be able to use your library locally, then add this to module exports in vue.config.js

const path = require('path')

module.exports = {
  chainWebpack: (config) => {
    if (process.env.NODE_ENV !== 'production') {
      config.resolve.modules.prepend(path.resolve(__dirname, './node_modules'))
    }
  },
}

Using Vue-Styleguidist in the library

TO-DO

Build Setup

# install dependencies
$ npm install

# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm run start

# generate static project
$ npm run generate

For detailed explanation on how things work, check out Nuxt.js docs.

0.0.52-dev

23 days ago

0.0.51-dev

5 months ago

0.0.49-dev

1 year ago

0.0.50-dev

1 year ago

0.0.48-dev

1 year ago

0.0.47-dev

1 year ago

0.0.46-dev

1 year ago

0.0.42-dev

2 years ago

0.0.45-dev

2 years ago

0.0.44-dev

2 years ago

0.0.43-dev

2 years ago

0.0.41-dev

2 years ago

0.0.40-dev

3 years ago

0.0.39-dev

3 years ago

0.0.38-dev

3 years ago

0.0.37-dev

3 years ago

0.0.36-dev

3 years ago

0.0.35-dev

3 years ago

0.0.33-dev

3 years ago

0.0.32-dev

3 years ago

0.0.34-dev

3 years ago

0.0.30

3 years ago

0.0.31-dev

3 years ago

0.0.30-dev

3 years ago

0.0.29-dev

3 years ago

0.0.28-dev

3 years ago

0.0.27-dev

3 years ago

0.0.25-dev

3 years ago

0.0.24-dev

3 years ago

0.0.23-dev

3 years ago

0.0.26-dev

3 years ago

0.0.22-dev

3 years ago

0.0.21-dev

3 years ago

0.0.20-dev

3 years ago

0.0.19-dev

3 years ago

0.0.16-dev

3 years ago

0.0.18-dev

3 years ago

0.0.17-dev

3 years ago

0.0.15-dev

4 years ago

0.0.14-dev

4 years ago

0.0.13-dev

4 years ago

0.0.12-dev

4 years ago

0.0.11-dev

4 years ago

0.0.10-dev

4 years ago

0.0.8-dev.1

4 years ago

0.0.9-dev

4 years ago

0.0.8-dev

4 years ago

0.0.7-dev

4 years ago

0.0.6-dev

4 years ago

0.0.5-dev

4 years ago

0.0.4-dev

4 years ago

0.0.3-dev

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

1.0.0

4 years ago