vue-no-ssr

Vue component to wrap non SSR friendly components

MIT 10 个版本
安装
npm install vue-no-ssr
yarn add vue-no-ssr
pnpm add vue-no-ssr
bun add vue-no-ssr
README

vue-no-ssr

NPM version NPM downloads CircleCI donate

Install

yarn add vue-no-ssr

Usage

<template>
  <div id="app">
    <h1>My Website</h1>
    <no-ssr>
      <!-- this component will only be rendered on client-side -->
      <comments />
    </no-ssr>
  </div>
</template>

<script>
  import NoSSR from 'vue-no-ssr'

  export default {
    components: {
      'no-ssr': NoSSR
    }
  }
</script>

Placeholder

Use a slot or text as placeholder until <no-ssr /> is mounted on client-side.

eg, show a loading indicator.

<template>
  <div id="app">
    <h1>My Website</h1>
    <!-- use slot -->
    <no-ssr>
      <comments />
      <comments-placeholder slot="placeholder" />
    </no-ssr>
    <!-- or use text -->
    <no-ssr placeholder="Loading...">
      <comments />
    </no-ssr>
  </div>
</template>

<script>
  import NoSSR from 'vue-no-ssr'

  export default {
    components: {
      'no-ssr': NoSSR
    }
  }
</script>

By default the placeholder will be wrapped in a div tag, however you can use placeholderTag prop to customize it:

<no-ssr placeholder="loading" placeholader-tag="span">
  <comments />
</no-ssr>

And you get:

<span class="no-ssr-placeholder">
  loading
</span>

If prop placeholder is an empty string (or null) and no placeholder slot is found, then <no-ssr> will render the Vue placeholder element <!----> instead of rendering the placholder-tag during SSR render.

Development

yarn install

# Run example
yarn example

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

vue-no-ssr © egoist, Released under the MIT License.
Authored and maintained by egoist with help from contributors (list).

egoist.moe · GitHub @egoist · Twitter @_egoistlily

版本列表
1.1.1 2018-12-15
1.1.0 2018-11-20
1.0.0 2018-09-10
0.2.2 2017-11-26
0.2.1 2017-11-21
0.2.0 2017-08-25
0.1.3 2017-11-21
0.1.2 2017-06-07
0.1.1 2017-06-07
0.1.0 2017-05-26